【发布时间】:2020-08-28 21:06:01
【问题描述】:
这是我第一次提出问题,如果我违反任何规则,请原谅我。
我正在使用 Google 表格,我想将格式化宏应用到 google 驱动器文件夹中的每个电子表格。在查看了之前的问题之后,谷歌似乎并没有让这变得容易,并且要求用户将脚本复制粘贴到每个文件中以运行宏。我希望使用 Google Apps Script Drive Service 运行脚本来遍历文件夹中的文件列表,然后运行宏的函数。我上周刚刚发现了谷歌应用程序脚本,并且可以在这项任务中使用一些帮助。
示例代码以一些应该执行迭代的驱动器服务代码开头。以下是我从宏复制并命名为 blueHeadings 的自定义函数,它将特定单元格更改为蓝色。我真的可以从代码大师那里得到一些指导。
此外,这是我从以下问题中提取部分代码的问题: Google Sheet – using scripts across multiple files without creating a new script in every file
var myFolder = DriveApp.getFoldersByName('Script Testing Folder').next(); //Add Folder name
var spreadSheets = myFolder.getFilesByType("application/vnd.google-apps.spreadsheet");
while (spreadSheets.hasNext()) // Loops through all Spread Sheets inside the folder.
{
var sheet = spreadSheets.next();
var name = sheet.getName();
var spreadSheet = SpreadsheetApp.openById(sheet.getId());
function blueHeadings() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1:C1').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true);
spreadsheet.getRange('A1:C1').activate();
spreadsheet.getActiveRangeList().setBackground('#cfe2f3');
spreadsheet.getRange('A17:C17').activate();
spreadsheet.getActiveRangeList().setBackground('#cfe2f3');
spreadsheet.getRange('A20').activate();
spreadsheet.getActiveRangeList().setBackground('#cfe2f3');
spreadsheet.getRange('A12').activate();
spreadsheet.getActiveRangeList().setBorder(false, false, false, false, false, false)
.setBorder(false, false, false, false, false, false)
.setBorder(true, null, null, null, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
spreadsheet.getRange('B12').activate();
spreadsheet.getActiveRangeList().setBorder(false, false, false, false, false, false)
.setBorder(true, null, null, null, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
spreadsheet.getRange('C12').activate();
spreadsheet.getActiveRangeList().setBorder(false, false, false, false, false, false)
.setBorder(true, null, null, null, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
spreadsheet.getRange('B14').activate();
}
};
【问题讨论】:
-
你在哪里打电话
blueHeadings()?
标签: javascript google-apps-script google-sheets google-drive-api