在OfficeJS中以编程方式打开任务窗格

时间:2017-08-17 10:22:47

标签: office-js

我们可以在Menifest文件中编写action元素来打开任务窗格:

<Action xsi:type="ShowTaskpane">
     <SourceLocation resid="readTaskPaneUrl" />
</Action>

我们可以使用以下代码轻松显示对话框:

Office.context.ui.displayDialogAsync(startAddress, options, callback);

我需要打开一个任务窗格programmaitaclly。场景是,使用我的加载项用户可以下载文件,下载文件将在新的文档程序中打开。我需要自动在新打开的文档上打开任务窗格。

如何使用OfficeJS API执行此操作?欢迎提出任何建议或提示。

更新

根据@Rick Kirkham的回答,我试图按照Automatically open a task pane with a document.

打开任务窗格程序。

在我的Menifest文件中:

<Action xsi:type="ShowTaskpane">                        
   <TaskpaneId>Office.AutoShowTaskpaneWithDocument</TaskpaneId>
   <SourceLocation resid="MyURL.Url" />
</Action>

在客户端:

Word.run(function (context) {                
     var doc = context.application.createDocument(base64String);
     var _settings = doc.settings;
     _settings.add("Office.AutoShowTaskpaneWithDocument", true);


     return context.sync()
          .then(function () {
                 doc.open();
          }).catch(function (myError) {
                    //otherwise we handle the exception here!                        
     });

}).catch(errorHandler);

任务窗格仍无法自动打开。我错过了什么吗?或者我应该尝试其他方式?提前致谢。

注意:我使用的是OfficeJS 1.4测试版。

1 个答案:

答案 0 :(得分:0)

有一种方法可以在文档打开时自动打开任务窗格。看看这是否符合您的需求:Automatically open a task pane with a document

修改: 关于更新的问题:请保存文档,将其从docx更改为zip,然后打开zip文件。搜索zip包中的文件以查看该设置是否实际存在并设置为true。

另外,我注意到您正在使用Word.settings.add()的Word Rich API版本,其中文章使用共享API版本(并使用saveAsnyc()跟随它。我不认为这应该很重要,但作为一个解决问题的步骤,您可能想尝试API的共享版本。

此外,即使任务窗格未自动打开,打开加载项的按钮是否至少出现在文档中?