【发布时间】:2019-08-08 08:44:59
【问题描述】:
我们有两张 AL 表,本地表和国家表。我试图得到它,以便当我们当地的 AL“日历”完成时,数据会被复制到国家日历。检查已编辑的单元格是否在同一行中的某个人的行中,然后将其复制到国家电子表格上的相应行中。我不断收到您没有权限调用 SpreadsheetApp.openByID。
function onEdit(e) {
var range = e.range
var rowNum = range.getRow()
var colNum = range.getColumn()
var sheetEdit = range.getSheet().getName()
var rowEdit = parseInt(rowNum)
var colEdit = parseInt(colNum)
Logger.log(rowEdit)
Logger.log(colEdit)
Logger.log(sheetEdit)
var locSheet = "ID_Local_AL"
var natSheet = "ID_National_AL" //test
var copyEdit = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetEdit).getRange(rowEdit, colEdit, 1, 1).getValue()
//national Rows
var rhRowSMT = SpreadsheetApp.openById(natSheet).getSheetByName(sheetEdit).getCell(12,colEdit)
var jpRowSMT = SpreadsheetApp.openById(natSheet).getSheetByName(sheetEdit).getCell(13,colEdit)
var sahRowSMT = SpreadsheetApp.openById(natSheet).getSheetByName(sheetEdit).getCell(14,colEdit)
var hlRowSMT = SpreadsheetApp.openById(natSheet).getSheetByName(sheetEdit).getCell(15,colEdit)
if (rowEdit = 10) {
rhRowSMT.setValue(copyEdit)
}
else if (rowEdit = 11) {
jpRowSMT.setValue(copyEdit)
}
else if (rowEdit = 12) {
sahRowSMT.setValue(copyEdit)
}
else if (rowEdit = 13) {
hlRowSMT.setValue(copyEdit)
}
}
理论上,如果团队中的一个放入 AL,则将检查单元格是否要被复制,它将该单元格的内容复制到国家工作表上的同一日期。
相反,我得到您无权调用 SpreadsheetApp.openById。所需权限:https://www.googleapis.com/auth/spreadsheets 在 onEdit(代码:28)
我知道这是因为它们是两个不同的电子表格,但有解决方法吗?
【问题讨论】: