• ベストアンサー

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

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

  • MKT_
  • お礼率99% (329/330)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

方法は限られているかと。 こちらで。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13129541763

MKT_
質問者

お礼

 NotFound404  どうもありがとうございます!m(_ _)m 一瞬ご退会なされたのかと思いました^^;  アドバイスいただけた内容でうまくいけそうですね^^まだ動作確認できておりませんが、お礼が遅くなるといけませんのでクローズさせていただきます。m(_ _)m  この度はご親切に誠にありがとうございました!!!

関連するQ&A

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

    for each *** In workbooks・・・Nextで現在開いているexcelのブック名をすべて取得することができますが、2つめのexcelを起動し、そこで開いたブック名は取得することができません。 プロシージャは個人用マクロブックに記載しているのですが、複数起動したexcelのすべてのブック名を取得する方法をどなたかご存知の方いませんでしょうか? excel2007を使用しています。よろしくお願いします。

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

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

  • Excel VBAでブックを閉じる時、複数のブックが開いていると・・・。

    WinXP+Excel2002なのですが、 ExcelのVBAでつくったアプリの中に、 Application.Quit ThisWorkbook.Close False と記述し、終了させる部分があります。 複数のブックが開いているときにこのプログラムを実行すると、 他のブックまで閉じようとするのですが、 これは何ともならないのでしょうか。 複数のブックを開いた状態でVBEを開くと、 どのブックをアクティブにしておいても、他のブックの モジュールが出てきますよね。これに関係あるのでしょうか。 VBAはそのブックだけに記述することができる・・・のでしょうか? 調べてみたのですがよくわかりませんでした。 基本的なことで恐縮ですが、こんな私にわかるよう 教えてくださる方いらしたらお願いいたします。

  • 【VBA】EXCELブックを開かずにシート名を取得したい

    VBAに関する質問です。 EXCELブックを開かずに、シート名を取得する方法を教えてください。 http://officetanaka.net/excel/vba/tips/tips29.htm ↑を見たのですが、具体的にどのようにしたらよいのかわかりません。 よろしくお願いします。

  • Excel VBA ブックが閉じれない

    Excel2016を使用してVBAを使用しています。 VBA初心者ですが、よろしくお願いします。 質問内容は以下になります。 EXCEL起動と同時にUserFormを表示させ、UserForm上のコマンドボタンから ダイアログボックスを表示し、他ブックを開く処理なのですが、 他ブックを開くまでは問題ないのですが、他ブックが閉じれない状態になります。 Private Sub Workbook_Open() UserForm1.Show End Sub Private Sub UserForm_Initialize()  各種処理 End Sub Private Sub CommandButton1_Click() Dim OpenFileName As String SetCurrentDirectory (Worksheets(1).Cells(11, 3)) OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") Workbooks.Open OpenFileName End Sub UserFormを閉じると開いたブックも閉じることが可能です。 タスクマネージャーから強制的に終了しようとすると、以下メッセージが出ます。 ”開いているダイアログボックスがあるため、Microsoft Excel を終了できません。[OK]をクリックしてから、Microsoft Excelに切り替えてダイアログを閉じて下さい。" UserFormを閉じないで他ブックを閉じるには、どうすれば宜しいでしょうか。 申し訳ございませんがご教授下さい、よろしくお願いいたします。

  • VBAで別プロセスのExcelのフルパスの取得

    いつもお世話になります。 Excel VBAで別プロセスで起動しているExcelブックのフルパスの取得方法を教えて頂けないでしょうか。 前提としては、ファイル自体はローカル環境に保存されているが、どこに保存されているかは分からない、というものになります。 別プロセスの場合はあらかじめフルパスが分かっていれば取得できるといったものはあったのですが、それをそもそも取得したいというのは見つけることができませんでした。 そもそもやりたいのは、プロセスが同じ、別であるに関わらず、起動している全てのExcelブックに対して、マクロを実行したいのですが、フルパスが分かれば処理を行うことができると考え、このような質問をするに至りました。 使用しているExcelは2003になります。 宜しくお願いします。

  • エクセルVBAでブックを開きたいのですが、

    エクセルVBAでブックを開きたいのですが、 アクティブシートを別のブックに移動させたいのですが、 まず、目的のブックを開く → 移動させたいシート名を右クリック → 移動またはコピー を選択 → 移動先ブック を選択  というふうにしようと思っていますが、 Workbooks.Open Filename:= _ "C:\Documents and Settings\YUMIKO\My Documents\YYYY.xls" のようにファイル名を入れると開くことができました。 が、   Workbooks.Open Filename:= _ "C:\Documents and Settings\YUUKORON\My Documents\Range("F1").Value.xls" のように、アクティブシートの セルF1にファイル名を入れて、開きたいのですが、どうしても開くことができません。いろいろ調べて試しましたが、無理でした。 基本的にマクロで記録で作っている初心者です。 回答よろしくお願いします。

  • 複数のエクセルブックをひとつのブックにまとめる方法

    同一フォルダに複数のエクセルブック(100個以上)が入っています。 その中のSheet1だけ(Sheet1~3まですべてのブックにあります)を一つのエクセルにまとめたいです。 ブックの中にSheet1、Sheet1(1)、Sheet1(2)・・・ みたいになればいいです。 Sheet名がブック名になるのが理想ですが。。 どのようにすればよろしいでしょうか?

  • EXCEL VBA複数ブックからの貼り付け

    複数のブックにあるデータを一つのシートに繋げるマクロを作っています。 元となるブックのフォーマットは全て一緒の為下記の様なコードを書きました。 Dim OpenFileName As Variant, tmp As String, i As Long '複数のブック巣を選択 OpenFileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls", _ MultiSelect:=True) '名前の取得 If IsArray(OpenFileName) Then For i = 1 To UBound(OpenFileName) tmp = tmp & OpenFileName(i) & vbCrLf Next i MsgBox "選択したファイルは " & vbCrLf & tmp & " ", vbInformation Else MsgBox "キャンセルされました。", vbInformation End If '選択したブックを開く For i = 1 To UBound(OpenFileName) Workbooks.Open OpenFileName(i) Next i '最初のファイルをコピーをし、DataSheetに貼り付ける Workbooks(OpenFileName(1)).Worksheets("元帳").Cells.Copy _ Destination:=Workbooks("在庫表BETA.xls").Worksheets("DataSheet").Range("A1") '2個以降のファイルを下に貼り付ける For i = 2 To UBound(OpenFileName) Workbooks(OpenFileName(i)).Worksheets("元帳").Range("A9:V54").Copy _ Destination:=Workbooks("在庫表BETA.xls").Worksheets("DataSheet").Range("A65536").End(xlUp) Next i '最初のファイルをコピーをし、DataSheetに貼り付ける Workbooks(OpenFileName(1)).Worksheets("元帳").Cells.Copy _ Destination:=Workbooks("在庫表BETA.xls").Worksheets("DataSheet").Range("A1") 上の部分で『インデックスが有効範囲にありません。(Error 9)』の エラーが発生してしまい、困っております。 また、該当箇所をコメントアウトしても『2個目以降のファイルを貼り付ける』の箇所でも同様のエラーが発生してしまいます。 無知な私ですが、宜しくお願い致します。

  • Excel マクロで複数ブックのデータを一つのブックにまとめる方法

    マクロ初心者です。 1つのフォルダの中に複数のbook(sheetも複数)があります。 これを新しい1つのbookにまとめたいです。 sheetは「bookを開いた時に表示されるsheetだけ」を新しいbookにまとめたいです。 どなたかの回答に下記マクロがありました。 Sub consolid() Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook 'このコピー先ブックをmbとする。 myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fname = Empty '全て検索 If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。 wb.Worksheets.Copy After:=mb.Sheets(mb.Sheets.Count) 'コピーしてコピー先ブックの末尾に置く wb.Close '開いたブックを閉じる n = n + 1 'ブック数をカウント End If fname = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件のブックをコピーしましました。" End Sub 非常によかったのですが、これですと (1)全てのsheetがコピーされてしまいます。 (2)また、保存しますか?とbookごとに聞いてきます。 上記のマクロのどこを変更すれば、(1)(2)を解決できますでしょうか? (エクセルは2002です) 以上、よろしくお願いします。

専門家に質問してみよう