我正在使用一个函数通过onEdit可安装触发器收集Google云端硬盘URL的文件名(感谢@Tanaike在此问题中的建议):
function FileName(e) {
const sheetName = "Página1";
const range = e.range;
const sheet = range.getSheet();
if (!(sheet.getSheetName() == sheetName && range.getColumn() == 2 && range.getRow() > 1)) return;
const value = range.getValue();
let res = "";
try {
res = DriveApp.getFileById(value).getName();
} catch(e) {
res = e.message;
}
range.offset(0, 1).setValue(res);
}
我需要找到一种方法来适应它,并在另一个单元格的版本中激活触发器,此示例步骤如下:
a)我更改C2并激活触发器,
b)该函数在B2中获取文件ID,识别该文件并将其放入D2中。
编辑
因此,问题是:上面的代码激活了触发器,并在同一单元格B2中获取了文件ID。如何使其在C2中激活编辑触发器并在B2中获得文件ID?
说明:
我认为您的目标是在column中的编辑时触发此功能,C
并D
根据column中的值设置column中的值B
。
如果要获取column的C
更改,请将if
语句中的check修改为:
range.getColumn() == 3
但是,由于您现在想获取column中的值B
,请使用:
const value = sheet.getRange(range.getRow(),range.getColumn()-1).getValue()
这行将range.offset(0, 1).setValue(res)
设置column中的值D
。
解:
function FileName(e) {
const sheetName = "Página1";
const range = e.range;
const sheet = range.getSheet();
if (!(sheet.getSheetName() == sheetName && range.getColumn() == 3 && range.getRow() > 1)) return;
const value = sheet.getRange(range.getRow(),range.getColumn()-1).getValue();
let res = "";
try {
res = DriveApp.getFileById(value).getName();
} catch(e) {
res = e.message;
}
range.offset(0, 1).setValue(res);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句