google-sheets - 如何根据 6 位数项目编号列表检查共享谷歌驱动器上的文件名列表并自动选中一个框
问题描述
每个标题。我有一个带有 6 位数项目编号的产品列表。我需要将其与引用这些产品的文件名列表进行交叉引用,并在它们存在时自动勾选复选框。6 位数字可以出现在文件名中的任何位置。
我尝试使用现有脚本将文件名列表(包括在子文件夹中)导入另一个工作表选项卡并进行 vlookup,但这在它完成导入所有文件名之前超时,因此它对我不起作用并且似乎过度 -做我想做的事情的复杂而缓慢的方式。
有没有什么方法可以做我想做的事情,或者甚至比手动搜索谷歌驱动器中 2000 个左右的项目编号更胖的解决方法?
解决方案
您可以尝试使用Google Apps 脚本。我已经复制了您的情况并提出了一个有效的代码。请参阅下面的代码(我已经尝试过了,它工作正常):
function myFunction() {
driveFiles = DriveApp.getFolderById(folderId).getFiles(); // REPLACE folderId with the folder containing all your files to check
ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
lastRow = ss.getLastRow()
itemNums = ss.getRange(2, 1, lastRow, 1).getValues();
while(driveFiles.hasNext()){
fileName = driveFiles.next().getName();
for(row in itemNums){
if(fileName.includes(itemNums[row])){
Logger.log(ss.getRange(row, 5).getValue());
ss.getRange(row, 5).check()
}
}
}
}
您可能需要稍微修改/调整代码,以使其按您希望的方式工作。
推荐阅读
- c# - 如何识别设备(扫描仪)是本地的还是远程的?
- java - 我们可以在 avro 序列化期间跳过一个对象,例如“JAVA 序列化”中的“瞬态”功能吗?
- python - Pygame:窗口不经常调整大小
- ios - 对成员 'create(_:value:update:)' 的模糊引用
- c# - 如何在来自 Web API 的响应中附加文件
- google-sheets - 如何使用条件格式突出显示整行。正在测试重复项
- c - 如何在文件夹中查找特定文件?
- reactjs - TestDome - REACT - 1. 专注
- reactjs - 在 xstate 中生成子机器
- node.js - mongodb 的 $facet 是否比 2 个单独的查询快?