大家好,我有一个团队假期日历。用户按字母“v”来设置假期日期,假期日期存储在外部工作表中(用于其他目的,因此我不能简单地在同一电子表格中拥有单独的工作表)。
问题是,假期日期可以是“付费”或“银行”(以便稍后记入)。我使用模态 Html 窗口询问用户假期是两者中的哪一个。但是,我在打开 html 模式窗口之前设置的全局变量失去了它们的值。我需要这些全局变量来存储原始条目的行和列(因为用户在键入“v”后单击单元格会更改 getActiveCell() 的值。
应该发生什么:
我可以让它进行到上面的步骤 3,但是,全局变量正在丢失其值,并且无法确定用户最初单击的单元格。
步骤1
第2步
var selectedDateRangeRow;
var selectedDateRangeColumn;
function onEdit(e) {
if (sheet.getRange("AH2").getValue() == true && sheet.getActiveCell().getValue() == "V") {
selectedDateRangeRow = sheet.getActiveCell().getRow();
selectedDateRangeColumn = sheet.getActiveCell().getColumn();
ShowVacationMenu();
}
}
function ShowVacationMenu() {
var html = HtmlService.createHtmlOutputFromFile('VacationType').setTitle("New Vacation Date");
SpreadsheetApp.getUi().showModalDialog(html, "Select Vacation Type");
}
function AddDateToOverTimeSheet(selectedVacationType) {
Browser.msgBox(selectedDateRangeRow); //This global value returns empty/null.
}
Run Code Online (Sandbox Code Playgroud)
html 文件:
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" …Run Code Online (Sandbox Code Playgroud)