実際、MS Office の 2013 バージョンがインストールされているかどうかを知る必要があります。でアプローチ
var oApplication=new ActiveXObject("Word.Application");
ウェブサイトからは機能しません(ただし、ローカルディスクから実行すると機能します)。
実際、MS Office の 2013 バージョンがインストールされているかどうかを知る必要があります。でアプローチ
var oApplication=new ActiveXObject("Word.Application");
ウェブサイトからは機能しません(ただし、ローカルディスクから実行すると機能します)。
Office365 でデバッグしました:
ms-powerpoint:ofe|u|https://.... => Powerpoint
ms-word:ofe|u|https:// => Word
ms-excel:ofe|u|https:/ / => エクセル
わかりましたので、ここに答えがあります (SharePoint は、バージョン検出なしで古い Office クライアントと新しい 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 はドキュメントを通常のビューで開きます。
「スクリプトを実行しても安全」とマークされていない ActiveX コントロールを IE のインターネット ゾーンからインスタンス化することはできません (Office アプリは SFS ではありません)。
Office 2013 より前に使用していた "古いメカニズム" と、使用する予定の "新しいメカニズム" は何ですか?
(SharePoint は、バージョン検出なしで、古い Office クライアントと新しい Office クライアントの両方で適切に動作することに注意してください)。