【问题标题】:Script to run on specific sheet在特定工作表上运行的脚本
【发布时间】:2016-02-20 15:01:06
【问题描述】:

我有一个一直在使用的脚本,但它只适用于所写的活动工作表(从 Google Drive 中的指定目录中提取文档列表)。如何将其转换为在特定工作表上运行。工作表的名称是“Per 7”。

function list_all_files_inside_one_folder_without_subfolders(){
  var sh = SpreadsheetApp.getActiveSheet();
  var folder = DriveApp.getFolderById('0B4zzmqQYDRm2flZPRFVWd1FfSGpJTXFmcWlSLXVVTUZJRjNlU3QzTER6aHFsYVEzTDdrS00'); // I change the folder ID  here 
  var list = [];
  list.push(['Name']);
  var files = folder.getFiles();
  while (files.hasNext()){
    file = files.next();
    var row = []
    row.push(file.getName())
    list.push(row);
  }
   sh.getRange(1,1,list.length,list[0].length).setValues(list);
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    尝试改变:

     var sh = SpreadsheetApp.getActiveSheet();
    

     var sh = SpreadsheetApp.getActive().getSheetByName('Per 7');
    

    【讨论】:

    • 在哪里插入工作表的链接?还是工作表的名称? “Per 7”是文件中的一张(标签)。
    • 抱歉,澄清一下,我不想使用活动工作表,但希望脚本在工作表未打开时在工作表上运行。
    • 如果您更改我提到的行,每当脚本执行时(以及当前活动的工作表是什么),它将使用工作表“Per 7”作为输出工作表。 “工作表”是电子表格(工作簿)中的工作表(选项卡)。
    • 那么我可以将它定向到非活动工作簿吗?所以不开的时候也能跑?
    • 确实应该可以。您可以使用其 ID 以编程方式打开另一个工作簿。例如:SpreadsheetApp.openById('id_of_the_other_spreadsheet) --> 这将返回一个电子表格对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多