任何人都可以建议阅读什么或在哪里阅读,或者可以告诉我;使用 A1 或 R1C1 表示法,为什么需要 getRange?
1 回答
回答:
由于 Mind-Reading API 似乎并不公开,目前有必要告诉 Apps Script 您希望应用更改或获取值的范围。
更多信息:
从您的问题和评论中,我认为您误解了 Apps 脚本的工作原理。
要回答您的问题“使用 A1 或 R1C1 表示法,为什么需要 getRange”。
你看,计算机并不聪明。他们完全按照你告诉他们的去做,并且需要非常具体的指示,这样他们才有意义。
当您在电子表格上的 Apps 脚本中运行脚本时,getRange是使用 A1 或 R1C1 表示法告诉脚本将代码应用到何处的方式。
工作示例:
假设在 中Sheet1,第一行是标题列表:
并且您希望标题以粗体显示,而其下方的数据也不会加粗。
您必须在脚本中准确指定要更改字体样式的单元格范围 - 这是通过指定范围来完成的getRange():
function exampleFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName("Sheet1")
var headingRange = sheet.getRange("A1:D1")
headingRange.setFontWeight("bold")
}
这会使指定范围内的单元格加粗为粗体。如果不告诉 Apps Script 将更改应用到哪个范围,它就不会知道您想在哪里执行此操作。
的替代签名getRange():
然而值得注意的是,SheetApps Script 类有多种指定范围的方法。第一种,最直观的方法是使用我们在上面示例中使用的 A1 表示法:
注意:在这些示例中,我使用activate()Apps 脚本中的方法来可视化每个范围的外观。
getRange(a1Notation)返回以 A1 表示法或 R1C1 表示法指定的范围。
// Get a range A1:D4 on sheet titled "Sheet1" var ss = SpreadsheetApp.getActiveSpreadsheet(); var range = ss.getRange("Sheet1!A2:D4"); // Get cell A3 on the first sheet var sheet = ss.getSheets()[0]; var cell = sheet.getRange("A3");
视觉样本getRange(a1Notation):
获取范围的第二种方法是使用其行和列索引指定一个特定的单元格:
getRange(row, column)返回给定坐标处左上角单元格的范围。
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // Passing only two arguments returns a "range" with a single cell. var range = sheet.getRange(2, 3);
视觉样本getRange(row, column):
第三种方式与第二种类似,但您也可以指定行数作为第三个参数:
getRange(row, column, numRows)返回给定坐标处左上角单元格和给定行数的范围。
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // When the "numRows" argument is used, only a single column of data is returned. var range = sheet.getRange(2, 1, 3);
视觉样本getRange(row, column, numRows):
最后在第四种方式中,您可以在起始行和列的顶部指定行数和列数:
getRange(row, column, numRows, numColumns)返回具有给定行数和列数的给定坐标处左上角单元格的范围。
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange(1, 1, 3, 3);
视觉样本getRange(row, column, numRows, numColumns):





