2016-06-28 6 views
2

ExcelでHow to get the formatting of a Cell using Office.jsに関する質問をしました。もう一度同じ質問がありますが、今度はms-wordについては、wordアプリケーションで作成された表のセルにある書式付きテキストを取得できる可能性があります。Office.jsを使用してWordのテーブルのCurrentセルの書式を設定する方法

enter image description here

私はちょうどありがとうござい現在のセルがフォーマットされたテキスト をしたい私が

Office.context.document.getSelectedDataAsync(Office.CoercionType.Html, 
     function (result) { 
      if (result.status === Office.AsyncResultStatus.Succeeded) { 
       showNotification('The selected text is:', '"' + result.value + '"'); 
      } else { 
       showNotification('Error:', result.error.message); 
      } 
     }); 

を必要なスタイルを与えるHTMLとして選択したテキストを取得することができていますけど!

答えて

0

優れた質問Pradeep。セルの書式設定を取得するには、現在プレビュー中のWord 1.3 APIを使用する必要があります。 1.3 Apis hereを試してみることができます。 (そのページに公開されているプレビューOffice.js CDNを使用する必要があることに注意してください) 新着情報をすべて確認してくださいhere

これで、1.3を試す準備ができたら、次のコードでセルの書式設定情報が得られます。コードが何をしているのかは、

  1. です。選択がテーブル内のセル内にあるかどうかを確認します。
  2. この検証が完了すると、セルの「ボディ」が取得されます。 Bodyオブジェクトには、必要なすべての書式設定properties(つまり、色、フォント名、太字、斜体など)を含むFONTオブジェクトが含まれています。

これを行うためのコードを以下に示します。このコードは、セル全体に適用されるフォーマットを返します。次のレベルに移動するには、ワード単位でフォーマット情報を取得する必要があります。ボディオブジェクトにsplit方法を適用する必要があるので、あなたは、横断し、返された範囲のそれぞれのフォーマットの情報を取得することができます。 希望、これは便利です!ハッピーコーディング!

function getFormattedText() { 
 

 
     Word.run(function (context) { 
 
      //step 1: lets get the selection's range. and find out if its within a table cell..... 
 
      var mySelection = context.document.getSelection().parentTableCell; 
 
      context.load(mySelection); 
 
      return context.sync() 
 
      .then(function() { 
 
       if (mySelection.isNull == true) { 
 
        //selection is not within a cell..... 
 
        console.log("selection not in a header"); 
 

 

 
       } 
 
       else { 
 

 
        // the selection is inside a cell! lets get the content.... 
 
        var body = mySelection.body; 
 
        context.load(body, { expand: 'font' }); 
 
        return context.sync() 
 
        .then(function() { 
 
         console.log(body.font.name + " " + body.font.color); // at this point all the font properties are available, bold, italic color.. etc... 
 

 
        }) 
 
         .catch(function (e) { 
 

 
         console.log(e.message); 
 
         }); 
 
        
 
       } 
 
      }) 
 
      .catch(function (e) { 
 

 
       console.log(e.message); 
 
      }); 
 

 
     }); 
 
    }
お返事のための

+0

おかげで私は、新しいAPIドキュメントを通じてつもりです@Juanと私はそれが非常に便利見つけています。 Excel APIのアップデートはoffice.jsにもありますか? –

+0

こんにちは@Juan書かれているこのコードはWord 2013では動作しません。また、Office 2016で上記のコードを試したときに、コードが正しく動作しませんでした。私はコードをお送りします。 –

+0

どのようにコードを送信できますか? –

関連する問題