• ベストアンサー

EXCEL VBAで2つEXCELを起動したときのブック名取得の方法

KenKen_SPの回答

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

> 別プロセスのExcelは外注したアプリがデータを表示する際に > 起動する... (その外注アプリが)表示するデータとは、  1)Excel ファイルを作成され、特定の場所に保存されている。    表示は、そのファイルを開いているにすぎない。ファイルを    改めて保存する必要はない  2)Excel 画面で表示されるが、ファイルには書き出されていない。    手動で保存しなければならない のどちらですか? 1)の場合でファイル名が自明ならば、   Dim xlApp As Application   Set xlApp = GetObject(ファイルフルパス).Application で別プロセスの Excel で開かれていても Application オブジェクト は参照できますよ。 2)の場合は、厄介です。

ReamStream
質問者

補足

お返事ありがとうございます。 2)の方です。ファイルは保存されておらず、開かれているだけで、保存する必要はありません。ただ、ブック名がBook1.xlsとかBook2.xlsとかそのときどきで変わってしまいます。 ファイル名だけ手動で入力するようにすればできそうですね。ちょっと手間ですけど。

関連するQ&A

  • エクセルマクロでブック名を検索できない

    エクセルマクロで今開いているブック以外のブック名を取得して編集するマクロを作っていますが、一度他のブックを開かずにエラーメッセージ"価格を検索したいブックを開いて下さい。"を表示させると以降開いたブック名を取得出来ません。 For Each wb In Application.Workbooks s = wb.Name If s <> ActiveWorkbook.Name Then Exit For Else MsgBox "価格を検索したいブックを開いて下さい。" Exit Sub End If Next オブジェクトの解放など調べてみたのですが、初心者でよく解らず困っています。どなたか教えて下さい。

  • VBA 複数のEXCEL.EXEのブック一覧を取得

    今日は、質問させていただきます。 どうぞよろしくお願いいたします。 環境: EXCEL2007 でございます。 複数のEXCEL.EXEが起動している際に、それらで開かれている全てのブック名を取得したい次第でございます。 試しにWorkbooks.Countしてまいりましたが、同一のEXCEL.EXE内のブックしか検出出来ませんでした。。。 何か方法を思いつかれる方がいらっしゃいましたら、是非アドバイスいただけないでしょうか。 もしお詳しい方がいらっしゃいましたら、何卒よろしくお願いいたします。

  • access イベント名取得方法

    accessでフォーム、またはコントロールのイベント名の取得方法を教えてください。 フォーム、コントロール、レポートには、それぞれプロパティシートを持っていて、開くと、 「書式」「データ」「イベント」「その他」「すべて」の4つのタブに分かれています。 やりたいことは、この4つの中で「イベント」タブにある内容をイベント毎に取得したいのです。 <コーディング例> '全フォームループ For Each OBJ In CurrentProject.AllForms 'フォームを開く DoCmd.OpenForm OBJ.NAME, acDesign '****************************************************** '*** ここでフォームのイベントタブの内容を取得したい *** '****************************************************** '全コントロールに対してループ For Each CTL In Forms(OBJ.NAME).Controls '****************************************************** '*** ここでフォームのイベントタブの内容を取得したい *** '****************************************************** Next CTL Next OBJ   <取得結果の例> 1.クリック時:[イベントプロシージャ] 2.更新後処理:aaa() どなたかご教授お願いします。

  • ブックを開く順序ってブック名取得に関係あるのでしょうか??

    エクセルブックAに他に開いているブック名を取得するマクロを作っています。 ブックBを開いてブックAを開き、マクロを実行すると正常に動きますが、ブックAを先に開いてマクロを実行するとブックがないと言ってきます。 ブックを開く順序ってブック名取得に関係あるのでしょうか??

  • Excelのブックを閉じる

    お世話になります。 Excel処理について質問です。 今、サーバで常にマクロが動き続けているExcelファイル(ファイルAとします)があります。 今回はそのファイルを閉じ、マクロにてシートの更新をしたのち、また開きなおしてマクロを実行させたいです。 方法としては、 1.C#から閉じて更新して開く処理を行う。 2.別のブックにファイルAを閉じる処理を行うマクロを仕込んでおき、 C#からはそのファイルを開くだけ。 が考えられると思っています。 どちらの方法でも良いので、コードの例を書いていただけないでしょうか。 ちなみに、自分の現状のコードは以下です。 (アラート非表示) for each wb in Workbooks if wb.Name <> ThisWorkbook.Name then wb.Close SaveChanges:=false end if next Application ThisWorkbook.Close SaveChanges:=false これでは、異なるブックのExcelファイルであっても、ウィンドウが分かれ てしまっていては、削除の対象になりません。 どなたか、宜しくお願いします。

  • 「.Name」がエラーになる理由は?

    Sub 全てのシート名を取得する() Dim w As Worksheet Dim 行 As Long 行 = 1 For Each w In Worksheets Debug.Print w.Name 行 = 行 + 1 Next End Sub Sub 全てのブック名を取得する() Dim wb As Workbooks Dim 行 As Long 行 = 1 For Each wb In Workbooks Debug.Print wb.Name 行 = 行 + 1 Next End Sub 標準モジュールに ふたつのプロシージャーを作ったのですが 「全てのシート名を取得する」は問題なく動作しますが 「全てのブック名を取得する」は「.Name」の部分が 「コンパイルエラー メソッドまたはデータ メンバが見つかりません。」 (Error 461) になってしまいます。 なぜでしょうか? 全てのブック名を取得することはできないのですか?

  • Excel マクロ & VBA で教えてください

    Excel マクロ&VBA の教則本で、独習しています。その中の「すべてのブックに対して 処理を繰り返す」との項目で、以下の様な「コード」があります。           Sub 開いているブックに処理を実行( ) Dim 全ブック As Workbook For Each 全ブック In Workbooks 全ブック .Save Next End Sub これを実行すると、以下の「メッセージ」が表示されました。 Microsoft Excel プライバシーに関する注意:このドキュメントは、マクロ、Activexコントロール,XML拡パックの情報、又はWebコンポーネントが含まれています。これらにはドキュメント検査機能で削除することが出来ない個人情報が含まれる場合があります。 そして 「OK」 ボタンをクリックすると VBA に戻り、「キャンセル」ボタンをクリックすると「実行時エラー’1004’:ファイルを保存出来ませんでした」とのメッセージが表示され、「セキュリティー」に問題があるのかと、「セキュリティー」の設定を、教本を見ながら、色々試してみましたが、解決出来ません。どの様にすれば実行出来るのか?御指導御教授の程、よろしくお願い致します。 動作環境は以下の通りです。 ◎OS -- Windows7 ◎Excel -- Microsoft Excel 2010

  • ブックのすべてのシート名を取得するコード

    何が間違いなんでしょうか? エクセル2003です。 ブックのすべてのシート名を取得するコードを考えてるのですが なぜか一番左のシート名しか取得できません。 コードは↓です。 ----------------------------------- Sub test01() Dim x As Workbook For Each x In Workbooks Debug.Print ActiveSheet.Name Next End Sub ----------------------------------- できないので「Workbooks」の部分を「ThisWorkbook」に変えてみたところ 実行時エラーになってしまいました。 ご教授よろしくお願いします。

  • ExcelVBA 起動しているブック数を取得したい

    ExcelVBAで、現在起動しているブック数を数えたいと思い下記コードを書きました。 eCnt = Workbooks.Count ですが、スタートボタン→プログラム→MicrosoftOffice→Excelというように Excelを起動していった場合、アプリケーションウィンドウが何個も起動し、 Workbooks.Countでは起動している数を取得できませんでした。 このような場合、どうすれば起動ブック数を取得できますでしょうか? ご存知の方いらっしゃいましたら教えてください! WinXP SP3、Excel2003 SP3を使用しています。 よろしくお願いします。

  • EXCEL 個人用マクロブックが起動しなくなりました

    EXCEL2002を使用していますが、個人用マクロブックが起動しなくなりました。 同様の質問がありましたので、回答を参考にマクロセキュリティレベルを確認し、一度Personal.xls ファイルを削除して再度個人用マクロブック作成していみましたがだめでした。 手動で個人用マクロブックを起動してマクロを実行してもエラーはでないのですが、正しく動作しません。 EXCEL2002を再インストールしてもだめだったので、EXCEL2002をアンインストール後一度EXCEL2000をインストールすると個人用マクロブックか起動するようになったので、再度EXCEL2002をインストールしてみるとまた個人用マクロブックは起動しなくなってしましました。 仕事上よく使用するアイコン等が使えなくて困っています。 よい対処方法がありましたら、ぜひ教えてください。 よろしくお願い致します。