C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 112 を表示中)
■66570 / )  起動中の複数のエクセルを参照するには?
□投稿者/ bagabon (1回)-(2013/05/08(Wed) 18:07:06)

分類:[VB.NET/VB2005 以降] 

フォームにListBoxを2つ貼り付けて、ListBox1に起動中のエクセルのブック、LIstBox2にListBox1で指定されたブックのシートの一覧を表示しようとしています。
エクセルのインスタンス一つにつきエクセルのブックが一つの場合は、以下のコードで複数のブック名を表示できました。

For Each hProcess As Process In Process.GetProcessesByName("EXCEL")
   ListBox1.Items.Add(hProcess.MainWindowTitle)  

   実際は多少の文字列の加工が必要(一つのインスタンスで複数のブックを開く場合は、不可)
Next hProcess

そこからエクセルのアプリケーションを参照する方法ですが、以下のコードではブック名がフルパスでないためエラーになってしまいます。

エクセルのアプリケーション = GetObject(ListBox1.Items(0).ToString(), "Excel.Application")

プロセスにMainWindowHandleというプロパティがありますが、これを使ってアプリケーションが参照できそうですが、やり方が分かりません。
上のやり方にこだわりませんが、ご存じの方がいらっしゃいましたら教えてください。


返信 編集キー/


管理者用

- Child Tree -