0

c# を使用して、パワーポイントにマルチタブ Web ブラウザー プラグインを実装しようとしています。

これまでのところ、マルチタブで shdocvw.webbrowser オブジェクトを使用しており、対応するタブに基づいてそれらの可視性を true または false に設定しています。それは問題なく動作します。

この問題は、スライドショー中にマルチタブ スライドを 2 回目に表示したいときに始まります。なんらかの理由で、最初のオブジェクトを除いて Web ブラウザ オブジェクトが消えてしまいました。zorder または visibilty を設定しようとしましたが、どれも機能しませんでした! 興味深いことに、タブのタイトルが Web ページのタイトルと同じように変化するため、ブラウジングが完了したように見えます。

私のコードは次のようなものです:

                PowerPoint.Shape tabStrip = sld.Shapes["tabs"];

                PowerPoint.Shape webShape1 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape2 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape3 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape4 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape5 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");    

                tabStrip.ZOrder(Office.MsoZOrderCmd.msoSendToBack);

                webShape1.Name = "web1";
                webShape2.Name = "web2";
                webShape3.Name = "web3";
                webShape4.Name = "web4";
                webShape5.Name = "web5";

                SHDocVw.WebBrowser web1 = webShape1.OLEFormat.Object;
                SHDocVw.WebBrowser web2 = webShape2.OLEFormat.Object;
                SHDocVw.WebBrowser web3 = webShape3.OLEFormat.Object;
                SHDocVw.WebBrowser web4 = webShape4.OLEFormat.Object;
                SHDocVw.WebBrowser web5 = webShape5.OLEFormat.Object;


                webShape1.OLEFormat.Object.Visible = true;
                webShape2.OLEFormat.Object.Visible = false;
                webShape3.OLEFormat.Object.Visible = false;
                webShape4.OLEFormat.Object.Visible = false;
                webShape5.OLEFormat.Object.Visible = false;

            web1.Navigate2(webAdress[currentSlide, 0]);

スライドショー モードでスライドにアクセスするたびに webbrowser オブジェクトを含む 5 つの形状を作成し、ユーザーが他のスライドにアクセスすると webShapes を削除し、最初のスライドを表示して残りを非表示にします。最初の実行では問題なく動作しますが、

どうすればいいですか?

4

0 に答える 0