2016-04-19 13 views
0

PowerPoint 2016 VBAのスライド上のWebブラウザーコントロールにアクセスしようとしています。PowerPoint 2016 VBAでWebBrowserコントロールに動的にアクセスするにはどうすればよいですか?

Slide1.WebBrowser1を使用すると、正常に動作します。例:コードを任意のスライドで使用したいと思います。

しかし、SSW.View.Slideを使用すると、Webブラウザーコントロールにアクセスできないようです。関連するShapeを取得できますが、WebBrowserにキャストする方法が見つかりません。これは動作しません:

Dim sld As Slide 
Set sld = SSW.View.Slide 
sld.WebBrowser1.Navigate varURL 

は私がキャスティングまたは私は上.Navigateを呼び出すことができるWebブラウザーを得Shapesコレクションを使用して上記のないバリエーションを見つけることができません。

誰でも手助けできますか?

答えて

0

WebBrowserコントロールは、セキュリティの問題によりOffice 2013以降、Microsoftによってデフォルトで無効にされています。挿入しようとすると、エラーメッセージが表示されます。

"ActiveXコントロールを挿入できません。

kb2793374のようにレジストリを微調整することで、セキュリティ上のリスクはあるものの、プレゼンテーションが表示されているすべてのマシンで実行する必要があるという追加の問題があるため、推奨できません。

WebBrowserコントロールオブジェクトはスライドオブジェクトに配置されているため、複数のスライドで使用する場合は、そのオブジェクトを使用するすべてのスライドにオブジェクトを複製する必要がありますに。

あなたはこのようにVBAプロジェクトのスライドを参照することにより、標準のコードモジュールからNavigateメソッドを使用することができます。

Slide1.WebBrowser1.Navigate "http://google.com" 
+0

あなたの答えJamieGに感謝します。私の質問で言及したように、そのメソッドは正常に動作しており、私は正常にWebBrowserコントロールを有効にするためにフープを飛び越えました。 テンプレートを作成しているので、スライドをSlide1として明示的に参照するのではなく、SlideShowWindowオブジェクトのSlidesコレクションから開始してWebBrowserコントロールを動的に配置します。 これが可能かどうかご存じですか? –

0

は、ActiveXオブジェクトへの参照を取得するために、この例を見てみましょう - http://skp.mvps.org/ppt00042.htmを。同様のアプローチを使用して、Webブラウザコントロールへの参照を取得することができます。

関連する問題