之前在智图这个网站上做了一张地图,在嵌入 PPT 里面的时候碰到了一些问题,现在把找到的解决方法写下来。
PPT 里面自带的 WebBrowser 控件可以实现网页浏览的功能。在“开发工具”选项卡下的“其他控件”中找到“Microsoft Web Browser”,在画布中拖动以调整大小。
如果是 PowerPoint 2013 及以上版本,会弹出如下对话框:
这是因为从 PowerPoint 2013 开始,出于安全考虑,默认不能使用 WebBrowser 控件1。 可以通过修改注册表来解决,具体为:
修改 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{8856F961-340A-11D0-A96B-00C04FD705A2}
中 Compatibility Flags
的键值为 0.
这是 Office 2016 该键在我电脑上的位置,不同的电脑和版本可能有所不同。
因为 WebBrower 控件支持直接输入网址,所以还需要借助其他控件来完成网页浏览的功能。2这里选用命令按钮。
拖动鼠标画出合适大小,然后右键单击,选择查看代码。
在弹出的窗口中输入如下代码3:
Private Sub CommandButton1_Click()Dim varURL As StringvarURL = "https://media.geoq.cn/media/share/pc.html?appid=012386e6-af1b-47f6-adab-b76fbaf6967e"Slide1.WebBrowser1.Navigate varURL
End Sub
其中的网址指向准备嵌入的地图:北京市地质灾害点分布图
再把 Caption 改为“地图”后退出该窗口。
在播放幻灯片时单击该按钮即可展示网页。一般的网页这样操作是没有问题的,不过 WebBrower 控件默认使用 IE7 进行网页渲染,和最新的网页技术不兼容4。对有些网页无法进行浏览,或者展现效果不好,譬如本次要展示的网页。
解决方法还是通过修改注册表,具体为:
在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
5里新建一个键
Name | Type | Data |
---|---|---|
POWERPNT.EXE | DEG_DWORD | 0x00002af9(11001) |
需要注意的是在添加的时候程序名称需要写为
POWERPNT.EXE
而不是POWERPOINT.EXE
。
再次播放 PPT,单击按钮后出现理想效果。
参考资料
- Cannot insert certain scriptable ActiveX controls into Office 2013 documents ↩
- How to use the WebBrowser control on a slide ↩
- Web Browser Control & Specifying the IE Version ↩
- A Brief Guide to FEATURE_BROWSER_EMULATION ↩