实际上我需要知道是否安装了 2013 版的 MS Office。接近
var oApplication=new ActiveXObject("Word.Application");
从网站上对我不起作用(但从本地磁盘运行时它可以工作)。
实际上我需要知道是否安装了 2013 版的 MS Office。接近
var oApplication=new ActiveXObject("Word.Application");
从网站上对我不起作用(但从本地磁盘运行时它可以工作)。
我在Office365中调试过:
ms-powerpoint:ofe|u|https://.... => Powerpoint
ms-word:ofe|u|https:// => Word
ms-excel:ofe|u|https:/ / => Excel
好的,这就是答案(SharePoint 可以在没有版本检测的情况下与新旧 Office 客户端正常工作,因此必须有解决方案)
try {
var g = new ActiveXObject("SharePoint.OpenDocuments.5");
alert('Office 2013 installed');
window.open('ms-word:ofe|u|http://server.com/12.docx');
}
catch (h) {
alert('Office 2010/older installed');
var g = new ActiveXObject("SharePoint.OpenDocuments");
g.EditDocument('http://server.com/12.docx');
}
剩下的唯一问题是在“受保护的视图”中打开文档,而 SharePoint 在常规视图中打开它们。
您不能从 IE 的 Internet 区域实例化未标记为“脚本安全”的 ActiveX 控件(并且 Office 应用程序不是 SFS)。
您在 Office 2013 之前使用的是什么“旧机制”,您打算使用什么“新机制”?
(请记住,SharePoint 可以在没有版本检测的情况下与新旧 Office 客户端一起正常工作)。