繁体   English   中英

如何在PowerPoint 2016 VBA中动态访问WebBrowser控件?

[英]How can I access WebBrowser control dynamically in PowerPoint 2016 VBA?

我正在尝试在PowerPoint 2016 VBA中的幻灯片上访问WebBrowser控件。

当我使用Slide1.WebBrowser1时,它工作正常。 例如:

Slide1.WebBrowser1.Navigate varURL

但是我希望代码可以与任何幻灯片一起使用。

但是当我使用SSW.View.Slide时,我似乎无法访问WebBrowser控件。 我可以获得相关的Shape,但是找不到将其投射到WebBrowser的方法。 这不起作用:

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

我发现使用铸造或使用Shapes集合不会产生以上任何变化,这些集合会产生一个我可以调用.Navigate的WebBrowser。

有人可以帮忙吗?

由于安全问题,Microsoft自Office 2013起默认禁用WebBrowser控件。 尝试将其插入将产生错误消息:

“无法插入ActiveX控件。”

但是您可以按照kb2793374调整注册表以使其再次运行,尽管不建议这样做,因为这存在安全风险,当然还有一个额外的问题,那就是必须在查看演示文稿的每台计算机上都进行此操作。

假设您已经完成此操作,则将WebBrowser控件对象放置在幻灯片对象上,因此,如果要在多张幻灯片上使用它,则需要在要使用它的所有幻灯片上复制该对象。

您可以通过以下方式引用VBA项目中的幻灯片来使用标准代码模块中的Navigate方法:

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

看一下这个示例,以获取对activex对象的引用-http: //skp.mvps.org/ppt00042.htm 您可以使用类似的方法来获取对Web浏览器控件的引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM