簡體   English   中英

使用VSTO外接程序在PowerPoint 2016中的幻燈片上添加WebBrowser

[英]Adding a WebBrowser on a slide in PowerPoint 2016 using a VSTO AddIn

我正在為PowerPoint開發VSTO加載項。 AddIn的功能之一是在幻燈片上添加生活網頁。

在以前的PPT版本中,我可以簡單地執行以下操作:

var browserShape = slide.Shapes.AddOLEObject(
        x, y, width, height,
        "Shell.Explorer.2"
    ) as PowerPoint.Shape;

但是現在有了PowerPoint 2016,我得到了一個OLE異常。

是否有一種新的(甚至更好的)方式將工作網頁放置在幻燈片上? 發生了什么變化? 為什么舊方法不再起作用?

因此,如何在PowerPoint 2016中將生活網頁添加到幻燈片中? 請注意,我沒有辦法強迫我的客戶安裝其他插件。

提前致謝。

這項工作在2013年有效,但現在在2016年失敗了嗎? 我之所以這樣問,是因為MS在2010年到2013年之間做了相當大的改變,這會導致這種情況,但據我所知,此后實際上並沒有任何[其他]相關的改變。

我維護着我編寫的產品,該產品使用動態生成的PowerPoint演示文稿,其中包括(其中包括)實時網頁(使用我編寫的啟用實時網頁功能的VSTO插件)。

這是我用於將Web瀏覽器對象插入幻燈片的代碼:

slide.Shapes.AddOLEObject(0, 0, presentation.PageSetup.SlideWidth, presentation.PageSetup.SlideHeight, "Shell.Explorer.2");

基本上和您一樣。

區別可能是http://support.microsoft.com/kb/2793374 ,出於安全原因,MS決定禁用Web瀏覽器控件,我的系統試圖重新啟用寫入相關注冊表項的功能,然后再進一步進行操作使用http://msdn.microsoft.com/zh-cn/library/ee330730%28VS.85%29.aspx#browser_emulation將瀏覽器仿真更新為IE的最新版本(我認為它默認為7或9或-我將其更新為IE11,因此它支持HTML5和舊版IE瀏覽器非常出色的其他功能)。

這取決於您的操作方式-您可以手動讓客戶端運行.reg文件來修補計算機,也可以嘗試在應用程序內部進行操作(我的建議:由於特權,這需要大量工作高度以寫入這些注冊表項)。

假設使用32位辦公,則基本思想是:

  1. 對於2013年,設置[SOFTWARE\\Wow6432Node\\Microsoft\\Office\\15.0\\Common\\COM Compatibility\\{8856F961-340A-11D0-A96B-00C04FD705A2}]"Compatability Flags"=dword:00000000
  2. 對於2016年,設置[SOFTWARE\\Wow6432Node\\Microsoft\\Office\\16.0\\Common\\COM Compatibility\\{8856F961-340A-11D0-A96B-00C04FD705A2}]"Compatability Flags"=dword:00000000
  3. 設置[SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION]"POWERPNT.EXE"=dword:00002711 (或更高版本-用於IE10編碼,還有00002AF8和00002AF9分別用於編碼不同嚴格度的IE11) 。

顯然,MS禁用此功能是有原因的,因此取決於您對安全性的重視程度以及重新啟用此功能的危險程度。

從個人的角度來看,從一個VSTO開發人員到另一個VSTO開發人員,我為您感到很抱歉 :D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM