2016-07-01 18 views
1

Office.jsを使用してドキュメントの本文内にテーブルを挿入しようとしましたが、役に立たないです。Officeアドインの開発:Wordでテーブルを挿入します。2016

私は、次のコードを使用しています

function insertSampleTable() { 

    showNotification("Insert Table", "Inserting table...") 

    Word.run(function (context) { 
     // Create a proxy object for the document body. 
     var body = context.document.body; 

     body.insertTable(2, 2, Word.InsertLocation.end, ["a"]); 

     // Synchronize the document state by executing the queued commands, and return a promise to indicate task completion. 
     return context.sync(); 
    }) 
    .catch(errorHandler); 

} 

をしかし、ボタンをクリックすると、それは私に、以下のエラー与える:

Error: TypeError: Object doesn't support property or method 'insertTable' 

任意の助けが理解されるであろうが。私はMicrosoft Office Devサイトをチェックしようとしましたが、このようなサンプルはありません。

ありがとうございます!

+0

Michael 1.3 APIの一部としてテーブルオブジェクトを追加しました。オープン仕様を確認してください:https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec –

答えて

0

はたぶん、マイケルはこのことを認識していないですが、私たちは最近、(プレビューとして)あなたが使用することができますテーブルオブジェクトを出荷しますワード。 HTMLを挿入するだけではなく、さらに多くの機能が提供されます。それを使用するためには https://github.com/OfficeDev/office-js-docs/blob/WordJs_1.3_Openspec/word/resources/table.md

これらを確認することを確認してください:

ここ

は、テーブルオブジェクトのドキュメントです。テーブルAPIをサポートするビルドを使用していることを確認してください。最新のものをインストールしてください:https://github.com/OfficeDev/office-js-docs/blob/215f5d35490c943cc06c29b98357ba8cb034ec81/docs/develop/install-latest-office-version.md

b Office.jsのPREVIEW API Cdnを使用していることを確認してください。アドインがhttps://appsforoffice.microsoft.com/lib/beta/hosted/office.js

btwのコードに誤りがあります。期待される引数は2D配列です。あなたはこのようなものを提供する必要があります。

Word.run(function (context) { 
 
      // Create a proxy object for the document body. 
 
      var body = context.document.body; 
 

 
      body.insertTable(2, 2, Word.InsertLocation.end, [["a","b"], ["c","d"]]); 
 

 
      // Synchronize the document state by executing the queued commands, and return a promise to indicate task completion. 
 
      return context.sync(); 
 
     }).catch(function (e) { 
 

 
      console.log(e.message); 
 
     }) 
 
    

は、このことができます願っています!

ありがとうございます! Juan(Word JavaScript API用のPM)

+0

こんにちはJuan、私はメソッドを呼び出すときにInvalidArgumentを取得しています。 「a)テーブルAPIをサポートするビルドを使用していることを確認してください」という要件を説明してください。 Office 2016のインストール済みバージョン(365ではなく)を使用している場合はどうなりますか?とにかくOffice 2016展開ツールをインストールする必要がありますか? – jeanie77

+0

Beta CDNバージョンのOffice.jsに問題がありました。現在更新中です。数日待ってください。 APIは、Officeの2016年4月のアップデートの一部としてプレビューとして出荷され、16.6965以降のビルドがあることを確認しています。 [ファイル] - [アカウント]に移動すると、Officeを更新するオプションが表示されます。 –

0

任意のRange/Body/ParagraphオブジェクトにinsertHTML methodを使用して、このタスクを実行できます。ここではコードです:

Word.run(function (context) { 
    context.document.body.insertHtml(
     "<table><tr><td>a</td><td>b</td></tr><tr><td>1</td><td>2</td></tr></table>", 
     Word.InsertLocation.end 
    ); 
    return context.sync().then(function(){}); 
}).catch(function(error){}); 

-Michaelサンダース(OfficeのPMは、アドインを)

関連する問題