0

实际上我需要知道是否安装了 2013 版的 MS Office。接近

var oApplication=new ActiveXObject("Word.Application");

从网站上对我不起作用(但从本地磁盘运行时它可以工作)。

4

3 回答 3

2

我在Office365中调试过:
ms-powerpoint:ofe|u|https://.... => Powerpoint
ms-word:ofe|u|https:// => Word
ms-excel:ofe|u|https:/ / => Excel

于 2013-12-11T05:55:17.317 回答
1

好的,这就是答案(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 在常规视图中打开它们。

于 2013-07-22T09:27:00.480 回答
1

您不能从 IE 的 Internet 区域实例化未标记为“脚本安全”的 ActiveX 控件(并且 Office 应用程序不是 SFS)。

您在 Office 2013 之前使用的是什么“旧机制”,您打算使用什么“新机制”?

(请记住,SharePoint 可以在没有版本检测的情况下与新旧 Office 客户端一起正常工作)。

于 2013-07-22T03:46:33.197 回答