2017-06-27 124 views
0

我試圖從對話框訪問word文檔背景下,像這樣:訪問Word文檔上下文

Office.context.document.setSelectedDataAsync("Hello World!", 
 
     function (asyncResult) { 
 
      var error = asyncResult.error; 
 
      if (asyncResult.status === Office.AsyncResultStatus.Failed){ 
 
       write(error.name + ": " + error.message); 
 
      } 
 
     });

這不起作用,因爲setSelectedDataAsync是未定義。

在這裏的文檔https://dev.office.com/reference/add-ins/shared/officeui.displaydialogasync它在底部說設計注意事項「不要使用對話框與文檔進行交互,而是使用任務窗格」。

根本無法從對話框中訪問完整的 word文檔上下文,還是僅僅建議不要這樣做?

理想我想向用戶顯示的條目列表,並附有很多細節,從該用戶隨後可以選擇一個和文件將被插入到文檔中。從技術上講,我可以在TaskPane中做到這一點,但這裏空間有限。如果可能的話,我真的很想在對話中做到這一點(特別是因爲我有一些其他非常相似的要求)。

是否有機會以與TaskPane相同的方式與word文檔進行交互?

回答

1

您無法與對話框中的文檔進行交互。

從文檔:

https://dev.office.com/docs/add-ins/develop/dialog-api-in-office-add-ins

messageParent功能只有兩個辦公室的一個API,可以在對話框中被調用。 (另一個是Office.context.requirements.isSetSupported)

因此,基本上,你可以從一個對話框,做的是顯示/收集一些數據,並通過messageParent功能發送回父。

您可以顯示所有的選項給用戶,然後發回一個選擇的父窗口,並根據需要與文檔交互出現。

+0

我幾乎假設我將不得不像這樣執行它,好建議! –