1

COM Shim dll を使用してそれ自体を Excel に読み込む .NET (C#) アドインがあります。Excel が正常に実行されている場合、アドインは問題なく正常に動作します。アドインは、さまざまなコマンドを実行するために使用される独自のカスタム ツールバーを Excel に表示します。

Excel を別のアプリケーション (DSOFramer など) に埋め込むと、アドインの動作がおかしくなり始めます。ツールバーのボタンを無効にすると、Visible プロパティを設定した後に再び有効にならないようです。また、Application::Selection オブジェクトが NULL であるため、「オブジェクト参照が設定されていません」というエラーが多数発生します。これは、Excel が正常に実行されている場合には発生しません。Application::GetAddIns() メソッドが呼び出されると、パーミッション エラーが発生することもあります。

ここで何が起こっているのかわからず、Excel が他のアプリケーション内に埋め込まれている場合の Excel COM アドインの動作を説明する記事を見つけることができませんでした。

4

2 に答える 2

1

私は dSOFramer についてあまり知らないことを認めなければなりませんが、次の項目に出くわしました。これらがまったく役立つかどうかはわかりません。

リンクテキスト

リンクテキスト

于 2009-10-07T20:39:35.207 に答える
1

この問題について Microsoft Professional に問い合わせたところ、現在 Microsoft が Office アプリケーションの埋め込みを推奨していないことがわかりました。アプリケーションへの Excel の埋め込みを停止するか、リボン UI を持つ Excel 2007 のみを使用するように提案されました。MS によると、リボン UI にはこれらの問題はありません。

CommandBars の問題は、ネゴシエーションが OnConnection 中にのみ発生し、その後変更できないことです。

于 2009-12-29T08:54:42.353 に答える