【问题标题】:Open Google Spreadsheet via Google Apps Script通过 Google Apps 脚本打开 Google 电子表格
【发布时间】:2014-02-16 16:06:45
【问题描述】:

是否可以通过 Google Apps 脚本打开 Google 电子表格?
我正在尝试创建一种方法来链接到电子表格中的某个单元格,但我无法从脚本(部署为 Web 应用程序)打开工作表。
我想打开电子表格,然后设置活动工作表和范围(我知道如何做后者,当电子表格打开时)。

提前致谢!

编辑
这是我当前的代码:

function doGet(e){
  var ss = SpreadsheetApp.openById("[id]");
  SpreadsheetApp.setActiveSpreadsheet(ss);
  var sheet = ss.getSheetByName("Kunder");
  var row = Number(e.parameter.row); 
  var col = Number(e.parameter.col); 
  var range = sheet.getRange(row, col);

  //OPEN THE SPREADSHEET HERE

  SpreadsheetApp.setActiveSheet(sheet);
  SpreadsheetApp.setActiveRange(range);
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您需要为电子表格使用正确的 ID。找到它的一种方法是:

    1. 在 Google 云端硬盘中打开包含文件夹
    2. 右键单击电子表格
    3. 选择获取链接
    4. 复制显示的网址

    网址将采用以下形式: https://drive.google.com/open?id=xoxoxoxoxoxoxoxoxoxoxoxo

    使用id参数值作为openById的参数,例如:

    var ss = SpreadsheetApp.openById("xoxoxoxoxoxoxoxoxoxoxo");

    【讨论】:

    • 这实际上并没有打开文件。根据文档:“//请注意,电子表格并未在客户端物理打开。”
    • 打开功能完全没用,因为如果电子表格仅在服务器上“打开”,则您无法修改电子表格上的任何内容。
    【解决方案2】:

    https://tanaikech.github.io/2018/02/20/open-site-with-new-window-using-google-apps-script/找到这个

    function myFunction() {
      var js = " \
        <script> \
          window.open('https://tanaikech.github.io/', '_blank', 'width=800, height=600'); \
          google.script.host.close(); \
        </script> \
      ";
      var html = HtmlService.createHtmlOutput(js)
        .setHeight(10)
        .setWidth(100);
      SpreadsheetApp.getUi().showModalDialog(html, 'Now loading.'); // If you use this on Spreadsheet
    //  DocumentApp.getUi().showModalDialog(html, 'Now loading.'); //  If you use this on Document
    //  SlidesApp.getUi().showModalDialog(html, 'Now loading.'); //  If you use this on Slides
    }
    

    我更改了链接和窗口大小,以便它可以在新选项卡中打开(您也可以删除 '_blank'...)

          <script> \
            window.open('https://docs.google.com/spreadsheets/d/" + custFileID.id + "', '_blank'); \
            google.script.host.close(); \
          </script> \
    

    custFileID 是另一个查找文件 ID 的函数。只需将其替换为您自己的变量或文件 ID。

    【讨论】:

    • 什么是_blank?是否需要使用特殊的库?
    • 那是,afaik,只是 HTML 在新窗口中打开浏览器。不需要图书馆。您还可以将窗口命名为“_blank”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    相关资源
    最近更新 更多