2016-04-19 3 views
0

Ich versuche, auf einer Folie in PowerPoint 2016 VBA auf das WebBrowser-Steuerelement zuzugreifen.Wie kann ich in PowerPoint 2016 VBA dynamisch auf WebBrowser-Steuerelement zugreifen?

Wenn ich Slide1.WebBrowser1 verwende, funktioniert es gut. Zum Beispiel:

Aber ich möchte, dass der Code mit jeder Folie funktioniert.

Aber wenn ich SSW.View.Slide benutze, kann ich anscheinend nicht auf das WebBrowser-Steuerelement zugreifen. Ich kann die relevante Form erhalten, kann aber keine Möglichkeit finden, sie in den Webbrowser zu übertragen. Dies funktioniert nicht:

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

ich keine Variationen des oben mit Guss finden kann oder die Shapes-Auflistung verwenden, die einen WebBrowser ergeben, die ich .Navigate anrufen kann.

Kann jemand helfen?

Antwort

0

Das WebBrowser-Steuerelement ist aufgrund von Sicherheitsproblemen von Microsoft seit Office 2013 standardmäßig deaktiviert. Beim Versuch, es einzufügen, wird die Fehlermeldung angezeigt:

"Das ActiveX-Steuerelement kann nicht eingefügt werden."

Aber Sie können die Registrierung gemäß kb2793374 zwicken, um es wieder zu arbeiten, obwohl nicht ratsam, weil es ein Sicherheitsrisiko ist und natürlich mit dem zusätzlichen Problem, dass es auf jedem Computer durchgeführt werden muss, auf dem die Präsentation angesehen wird.

Angenommen, Sie haben dies bereits getan, wird das WebBrowser-Steuerelementobjekt auf einem Objektträger platziert. Wenn Sie es also auf mehreren Folien verwenden möchten, müssen Sie das Objekt auf allen Folien duplizieren, die Sie verwenden möchten auf.

Sie können die Navigate-Methode von einem Standard-Code-Modul verwenden, indem die Folie in der VBA-Projekt wie folgt referenzieren:

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

Danke für Ihre Antwort, JamieG. Wie ich in der Frage erwähnt habe, funktioniert diese Methode gut und ich bin erfolgreich durch die Reifen gesprungen, um WebBrowser-Kontrolle zu ermöglichen. Ich erstelle eine Vorlage, also möchte ich nicht explizit auf die Folie als Slide1 verweisen, sondern finde dynamisch das WebBrowser-Steuerelement, indem ich mit der Slides-Auflistung des SlideShowWindow-Objekts beginne. Wissen Sie, ob das möglich ist? –

0

Werfen Sie einen Blick auf dieses Beispiel einen Verweis auf die ActiveX-Objekt zu erhalten - http://skp.mvps.org/ppt00042.htm. Sie können einen ähnlichen Ansatz verwenden, um einen Verweis auf die Webbrowsersteuerung zu erhalten.

Verwandte Themen