gpt4 book ai didi

javascript - Google Apps 脚本未检测到当前行

转载 作者:行者123 更新时间:2023-12-01 00:25:31 25 4
gpt4 key购买 nike

我创建了一个与 Google 电子表格中的自定义菜单项相关联的函数,旨在检测当前行并执行一些检查。问题是,每次我运行菜单项 > 脚本时,它总是检测到第 1 行,而不是当前脚本。这是引用代码:

function updateCalendarItems(){


//this function detects the current row and updates the main and follow up calendar events
//Get the current row
var ss = SpreadsheetApp.openById('<deleted>');
var sheet = ss.getSheetByName('db_clientvisit');

Logger.log('Sheet Name: '+sheet.getName()); //this logs the correct sheet name
// var range = sheet.getActiveCell();
var rowNum = sheet.getActiveCell().getRow();
Logger.log(rowNum); //always logs 1
var range = sheet.getRange(rowNum, 1, 1, 13).getValues(); //always returns the first row
Logger.log(range);
var ui = SpreadsheetApp.getUi();
ui.alert('Row Num is :'+rowNum+' Column Num is: '+sheet.getActiveCell().getColumn());
return;
var range = sheet.getRange(rowNum, 1, 1, 13);
var row = range.getValues()[0];
Logger.log(row);
//open the calendar
var calendarID = 'loveyourself.ph_umvj5k6vo45ei0mbh423g97ebg@group.calendar.google.com';
var calendar = CalendarApp.getCalendarById(calendarID);
//update the calendar...
}

最佳答案

使用var ss = SpreadsheetApp.getActive()

当您使用SpreadsheetApp.openById('<deleted>')时,您实际上是在打开一个新的电子表格 session ,而不是您的事件 session 。因此 Apps 脚本无法获取“事件”范围。

同样,您可能也想尝试使用 SpreadsheetApp.getCurrentCell() .

function updateCalendarItems() {
var currentCell = SpreadsheetApp.getCurrentCell();
var rowNum = currentCell.getRow();
var ui = SpreadsheetApp.getUi();
ui.alert('Row Num is :'+rowNum+' Column Num is: '+currentCell.getColumn());
return;
}

关于javascript - Google Apps 脚本未检测到当前行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59045956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com