2017-12-19 15 views
0

を削除:https://dev.office.com/reference/add-ins/word/contentcontrolオフィスJS - 私はWordでコンテンツコントロールを削除しようとしていると私は、これらのドキュメントを通じてつもりコンテンツ制御問題

これは私のコードではありません:

let mycc = context.document.contentControls.getByTag('mycc'); 
if (mycc) { 
    context.load(mycc, 'text'); 
    context.sync().then(() => { 
     mycc.items[0].delete(true); 
     context.sync().then(() => { ... }) 
    }) 
} 

エラーなし最も内側の内部のコードが機能します(別のコンテンツコントロールを挿入する)。

私は間違っていますか?

EDIT:問題が見つかりました。コンテンツコントロールは実際に削除されていましたが、コンテンツも削除したかったのです。 truedeleteに渡す代わりに、私はfalseに合格しているはずです。

答えて

2

説明した問題を再現できません。投稿したコードにエラー処理ロジックが含まれていないとすれば、おそらくエラーが黙ってスローされていると思われますが、それを検出していない可能性があります。

次のコードが正常にタグmyccを有する最初のコンテンツコントロールを削除し、Word.runの内部に発生する可能性のあるエラーを処理catchステートメントを含みます。

Word.run(function (context) { 
    var myContentControls = context.document.contentControls.getByTag("mycc"); 
    if (myContentControls) { 
     context.load(myContentControls, "text"); 
     return context.sync() 
      .then(function() { 
       myContentControls.items[0].delete(true); 
       return context.sync() 
        .then(function() { 
         console.log("Done!"); 
        }); 
      }); 
    } 
}).catch(OfficeHelpers.Utilities.log); 
+0

私は 'catch'ステートメントを持っていますが(上記の私のコードスニペットからは省かれています)、エラーはスローされません。最も内側のcontext.sync()内のコードは、 '...'で示されています。 – dnmh

+1

実際にそれを傷つける。ちょうど問題が見つかりました、上記の私の編集をご覧ください。私はそれが完全な実例(Word.runなどと共に)であるので、あなたの答えをupvotedしました。 – dnmh

+0

更新していただきありがとうございます(upvote)。あなたがそれを理解したことを聞いてうれしく思います。 –

関連する問題