如何使用GAS处理合并的单元格??我该如何修复错误



我是一个非常初学者,所以很抱歉问了一个低级的问题。我想在每个合并的单元格上拖出值(每个单元格8个,并在电子表格上列出(,并将它们放在谷歌表单的下拉列表中。我只是想看看表上的值,但发现有一个错误。如果有人知道如何解决这个问题,我很高兴听到这个消息。

错误
TypeError:无法读取未定义的属性"getRange"updateFormList@Code.gs:13

function updateFormList() {
var formId  = '---'
var sheetId = '---'
var sheetName = 'Sheet1'

var range = sheet.getRange("A3:A10");
var mergedRanges = range.getMergedRanges();
for (var i = 0; i < mergedRanges.length; i++) {
Logger.log(mergedRanges[i].getA1Notation());
Logger.log(mergedRanges[i].getDisplayValue());
}
}

若要修复错误,必须将ClassSheet对象分配给名为sheet的变量。

function updateFormList() {
var formId  = '---'
var sheetId = '---'
var sheetName = 'Sheet1'

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // this works in scripts bounded to spreadsheet
var sheet = spreadsheet.getSheetByName(sheetName);
var range = sheet.getRange("A3:A10");
var mergedRanges = range.getMergedRanges();
for (var i = 0; i < mergedRanges.length; i++) {
Logger.log(mergedRanges[i].getA1Notation());
Logger.log(mergedRanges[i].getDisplayValue());
}
}

关于

我想在每个合并的单元格上拖出值(每个单元格8个,并在电子表格上列出(,并想把它们放在谷歌表单的下拉列表中。

合并的单元格可能有助于数据可视化,即创建报告,但它们可能需要更复杂的脚本和公式。作为";非常初学者";当编程效率很重要时,只要你能避免在电子表格中合并单元格,特别是当你必须对它们的内容使用公式和脚本时。

资源

  • https://developers.google.com/apps-script/guides/sheet

试试这个:

function updateFormList() {
var formId  = '---'
var sheetId = '---'
var sheetName = 'Sheet1'
const sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
var range = sheet.getRange("A3:A10");
var mergedRanges = range.getMergedRanges();
for (var i = 0; i < mergedRanges.length; i++) {
Logger.log(mergedRanges[i].getA1Notation());
Logger.log(mergedRanges[i].getDisplayValue());
}
}

相关内容

最新更新