0

Excel 作業ウィンドウの一部として WebBrowser コントロールを使用しています。作成されたすべてのワークブックに対して新しいワークブックを作成するのではなく (これは、各ワークブックが独自の作業ウィンドウを取得する Excel 2013 にあります)、同期を維持しようとするため、作業ウィンドウにシングルトン ブラウザー コントロールのインスタンスを作成させます。

何が起こるかというと、開いたすべてのワークブックがこの Web ブラウザー コントロールのインスタンスを取得し、そのワークブックに表示されます...そして、その前に他のワークブックの表示が停止します。これは問題ありませんが、ユーザーが開いているブックを切り替えるときに、アクティブなブックの作業ウィンドウにコントロールを表示できるようにしたいと考えています。

Workbook Activate イベントをキャッチするコードを追加しましたが、webbrowser コントロールを表示するために呼び出すと、まだ simgleton インスタンスを指しています... コントロールを再度表示する方法がわかりません。

4

1 に答える 1

1

Workbook Activate イベント中に作業ウィンドウ コントロールを呼び出し、コンテナー コントロールからコントロールを削除してからコンテナー コントロールに戻すことで、最終的にこれを行うことができました。これは確かに、この問題に対する理想的な解決策とは言えませんが、この場合、典型的な redraw 呼び出しを試してもうまくいきませんでした。現在、アクティブなワークブックの作業ウィンドウには、常に単一の Web ブラウザーが表示されます。

タスクペインが 1 つしかないため、この Web ブラウザーは Excel 2010 で実装するのがはるかに簡単でした。これが他の誰かに役立つことを願っています...

于 2015-03-15T00:11:50.320 に答える