Google Apps脚本:从菜单中打开文档

时间:2017-08-14 14:28:08

标签: javascript google-apps-script google-docs

我知道,无法使用Google Apps脚本自动打开文档。但有没有办法从自定义菜单打开文档?从菜单中选择项目并直接打开特定文档比打开一个对话框更方便,我必须单击该文档的链接。

1 个答案:

答案 0 :(得分:1)

考虑到这一点,侧边栏可以作为一种菜单,你可以强制它在打开时显示,并提供在侧边栏关闭时让侧边栏恢复的能力。这可能适合您的需求,因为它提供了一种菜单项和仅选择链接的能力。使用Dialogs and Sidebars in G Suite Documents页面中的示例,下面的代码将允许您知道的对话框方案以及侧边栏菜单项,并在打开时打开侧边栏菜单项:

在Code.gs文件中,放置:

function onOpen() {

  showSidebar();

  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Dialog')
      .addItem('Open', 'openDialog')
      .addItem('Show sidebar', 'showSidebar')
      .addToUi();
}

function openDialog() {
  var html = HtmlService.createHtmlOutputFromFile('dialog');
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showModalDialog(html, 'Dialog title');
}


function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('sidebar')
      .setTitle('My custom sidebar')
      .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showSidebar(html);
}

接下来,创建2个HTML文件,“对话框”和“侧边栏”,并为每个文件添加以下内容,以便显示: 在dialog.html中输入以下内容:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Hello, World!
    <input type="button" value="Close"
        onclick="google.script.host.close()" />
  </body>
</html>

并在sidebar.html中放置:

Hello, world! <input type="button" value="Close" onclick="google.script.host.close()" />
<br/>
<a href="https://drive.google.com/open?id=16HHKXBMmWXh5NBZRAnFDiwGrZ">Open My Sample File here</a>
<br/>
<a href="https://drive.google.com/open?id=16HHKXBMmWXh5NBZRAnFDiwGrZ" target="_blank">Open My Sample File in a new tab</a>

如果在编辑器中运行onOpen(),或者保存并关闭文件,然后重新打开,则应该在文件中获取侧栏。用适当的项替换HTML中的Hello World项。请注意,提供的链接无法正常工作,因为我删除了部分网址。