0

PowerPoint スライドに埋め込まれた特定の URL に設定された WebBrowser コントロールが必要です。一緒に行ってきました

Shape shape =    s.Shapes.AddOLEObject(0.0f, 0.0f, 720f, 540f, "Shell.Explorer.2", "", MsoTriState.msoFalse, "", -1, "", MsoTriState.msoFalse);

shape.OLEFormat.Object.Navigate2("http://www.google.com");

これまでのところ、それは完全にうまく機能しています。ただし、プレゼンテーション中にスライドが変わるたびにページを更新する必要があります。このため、ページを更新するために次のようにしています。

    void Application_SlideShowNextSlide(SlideShowWindow Wn)
    {
        Slide sl = Wn.View.Slide;
        foreach (Shape s in sl.Shapes)
        {
            if (s.Type == Office.MsoShapeType.msoOLEControlObject) {
                if (s.OLEFormat.Object is SHDocVw.IWebBrowser2) {
                    SHDocVw.IWebBrowser2 wb = s.OLEFormat.Object as SHDocVw.IWebBrowser2;
                    object url = (object)"http://google.com/";
                    wb.Navigate2(url);
                } 
            }
        }
    }

ページが正しく更新されます。ただし、現在の違いは、ページが自動的にズームアウトされるため、ページがコントロール内に収まることです。コントロールを小さくしても、ページはさらに縮小され、その中に収まります。

4

2 に答える 2

1

カスタム ユーザー コントロールを作成し、それに WebControl を挿入することで、この問題を解決しました。次に、コントロールを "COM Visible" にしたので、ProgId を使用して PowerPoint 内に問題なく含めることができます。

于 2013-09-12T13:35:42.837 に答える