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

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

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

EXCEL操作するため、GetObjectしたが動作しない

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■97876 / inTopicNo.1)  EXCEL操作するため、GetObjectしたが動作しない
  
□投稿者/ 初心者 (1回)-(2021/07/31(Sat) 11:20:28)

分類:[.NET 全般] 

EXCELを他のアプリケーションから操作するため、実行中のEXCELがあるか判断し
有れば、GetObject関数でEXCELのComを取得するコードを作成しましたが、
取得可能なパソコンをそうでないパソコンがあり、原因が分からず苦慮しています。
EXCELのバージョンに依存しない、確実に取得する方法はないでしょうか。
FindWindow関数では、ハンドル番号は正常に取得できていますので、そこから
突破口はないのでしょうか?
よろしくお願いいたします。

開発環境 VisualStudio Express 2013 言語VB.NET

Dim xlapp1 As IntPtr
Dim xlapp2 As Object 'Excel.Application
xlapp1 = Nothing
xlapp1 = FindWindow("XLMAIN", vbNullString) 'HWDは取得出来ている
'起動していればそのExcelを使用する
xlapp2 = GetObject(, "Excel.Application")  <ーーーー取得出来ません(値=Nothing)
    'この後、EXCELを操作するコードを記述


引用返信 編集キー/
■97877 / inTopicNo.2)  Re[1]: EXCEL操作するため、GetObjectしたが動作しない
□投稿者/ 魔界の仮面弁士 (3155回)-(2021/07/31(Sat) 16:01:39)
No97876 (初心者 さん) に返信
> 取得可能なパソコンをそうでないパソコンがあり、原因が分からず苦慮しています。
ストアアプリ版の Office がインストールされているのではないでしょうか。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=89420&KLOG=154
引用返信 編集キー/
■97947 / inTopicNo.3)  Re[2]: EXCEL操作するため、GetObjectしたが動作しない
□投稿者/ 初心者 (2回)-(2021/08/11(Wed) 10:40:12)
No97877 (魔界の仮面弁士 さん) に返信
> ■No97876 (初心者 さん) に返信
>>取得可能なパソコンをそうでないパソコンがあり、原因が分からず苦慮しています。
> ストアアプリ版の Office がインストールされているのではないでしょうか。
> http://bbs.wankuma.com/index.cgi?mode=al2&namber=89420&KLOG=154

返信が遅れて申し訳ありません。
ワクチン接種の副反応で、2日ほど寝込んでました。

指摘のとおり調べたところ、ストアアプリ版は見当たらなく、ただ、2016と2003のEXCELがインストール
されたままの環境でした。
この環境が悪かったのか、2003アンインストールし、2016のみの環境にした結果、初回はEXCELの取得が出来たのですが、
次回から元の状態の戻り変わらずでしたので、思い切ってクリーンインストールを実施し、EXCEL2016単独の環境にしたら、
動作するようになりました。
これが原因だったんですね。ホットしています。

魔界の仮面弁士 さんありがとうございました。


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ