Office js を使用して O365 Windows と Mac でサポートする製品があります。現在、同じ製品で、O365 ワード オンラインをサポートする予定です。私たちの作業中に、O365 のウィンドウとオンラインの単語に 1 つの矛盾があることがわかりました。コンテンツ コントロール内にワード テーブルがあるドキュメントがあります。
Word Online では、Word テーブル内にあるコンテンツ コントロールを取得することはできませんが、O365 Windows および Mac デスクトップではすべてのコンテンツ コントロールを取得できます。
次のコード スニペットは、O365 ウィンドウと Mac では正常に動作しますが、Word Online では動作しません。
$("#run").click(() => tryCatch(run));
function run() {
return Word.run(function (context) {
var contentControls = context.document.contentControls
context.load(contentControls, "id,text,title,tag,placeholderText");
return context.sync().then(function () {
/*console.log('The selected text was "' + contentControls.items.length + '".');*/
contentControls.items.forEach((contentControl: Word.ContentControl) => {
console.log('The Content control id "' + contentControl.id + '".');
});
});
});
}
/** Default helper for invoking an action and handling errors. */
function tryCatch(callback) {
Promise.resolve()
.then(callback)
.catch(function (error) {
// Note: In a production add-in, you'd want to notify the user through your add-in's UI.
console.error(error);
});
}