C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
掲示板トップ
C# と VB.NET のサンプル
新規作成
利用方法/規約
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
■103456
/ )
Re[3]: Excelを開くのを1つだけ
□投稿者/ 魔界の仮面弁士
(3814回)-(2024/11/27(Wed) 13:06:37)
■
No103452
(screen さん) に返信
> エクセルファイルはいくつもあるので開いたエクセルファイルのデータを
> 取りに行きたいのですが2つ以上開いているとうまく取りにいってくれません
対象のファイル名が分かっているなら、
dynamic book = Microsoft.VisualBasic.Interaction.GetObject(xlsxFilePath);
で呼び出せる可能性があります。ただ、今回は望ましくないかな…。
それぞれの Excel が同一プロセスなら、Excel.Application オブジェクトの
Workbooks プロパティで、個々のワークブックにアクセスできます。
別プロセスで起動されている場合(特にオートメーション併用時)にも対応したい場合は、
ROT を辿れば、個々の Workbook オブジェクトにアクセスできるかと。
https://learn.microsoft.com/ja-jp/dotnet/api/system.runtime.interopservices.comtypes.ibindctx.getrunningobjecttable?WT.mc_id=DT-MVP-8907&view=netframework-4.8.1
いずれも COM オブジェクトへのアクセスとなるので、ReleaseComObject を忘れずに。
返信
編集キー/
編集
管理者用
-
Child Tree
-