MS Word文書に埋め込まれているブックを編集するときに問題を引き起こす既存のExcel VSTOアドインで作業しています。その環境でaddinが機能することは必須ではありませんが、アドインが扱うものと無関係なファイルを顧客が操作している場合でも、埋め込みが誤動作しています。少なくとも、そのワークブックのためにそれ自体を初期化しないようにする必要があります。VSTO Excelアドインは、ブックがワードドキュメントに埋め込まれているかどうかをどのように伝えることができますか?
私が研究してきたいくつかの道:
- をMicrosoft.Office.Interop.Excel.Workbook.Applicationのドキュメントを読み取ります。「 せずに、オブジェクトの修飾子を使用する場合、このプロパティは、Applicationオブジェクトを返します。 オブジェクト修飾子と共に使用すると、 が指定されたオブジェクトの作成者を表すApplicationオブジェクトが返されます(OLEオートメーションオブジェクトでこの プロパティを使用して戻ることができます)。そのオブジェクトの のアプリケーション)これは有望ですが、私は理解していません "オブジェクト修飾子付き"とはC#の文脈での意味です。
- This linkは、コマンドライン引数を調べることを推奨しています。しかし、Excelをスタンドアロンで開いて、埋め込まれたExcelオブジェクトでWord文書を開いた場合、Wordは埋め込みに同じインスタンスを使用し、コマンドライン引数には "-embedded"フラグは含まれません。
- 私は、既存のスタンドアロンインスタンスを再利用するのではなく、新しいExcelインスタンスを強制的に使用するようにしたいと思いますが、その方法もわかりません。
Excelの単一インスタンスは、埋め込み型とスタンドアロン型の両方のブックを同時にホストすることができるため、この情報はブックレベルでなければなりません。
は、あなたがこれまでFIました:オフィス2016)の上に私のために動作しませんでしたworkbook.Containerをチェックするために答えますこれを見て? Word文書に埋め込みExcelブックのアドインを無効にしたいのですが。 – tjsmith
申し訳ありませんが、この問題は解決していません。しかし、私はまだ解決策に興味があります。 –