google-apps-script - 创建父文件夹时创建子文件夹
问题描述
通过脚本创建新文件夹时是否可以添加子文件夹(具有预设名称)
function createFolder() {
const parent = DriveApp.getFolderById("1Cyki5N4HBaKWo7fs1Ye3PVjl8KeEdOPs");
const sheet = SpreadsheetApp.getActive().getSheetByName('Detailing');
const range = sheet.getRange(2, 1, sheet.getLastRow() - 2);
range.getValues().forEach(function (row, index) {
// Consider checking if this r & c has a formula in the equal size array from getFormulas()
if(row[0]) {
var newLink = getLinkForFolderName_(parent, row[0]);
// Use the current array index to write this formula in only the correct cell.
range.offset(index, 0, 1).setFormula(
"HYPERLINK(\"" + newLink + "\", \"" + row[0] + "\")"
);
}
});
}
function getLinkForFolderName_(root, name) {
var folder;
const search = root.getFoldersByName(name);
if (search.hasNext()) {
folder = search.next();
if (search.hasNext())
console.warn("Multiple folders named '" + name + "' in root folder '" + root.getName() + "'");
}
else {
folder = root.createFolder(name);
["Quote", "Detailing", "Delivery"].forEach(function(e) {
folder.createFolder(e);
});
}
}
我想要发生的是在创建新的父文件夹时,同时创建标有报价、详细信息、交付的子文件夹
谢谢您的帮助
解决方案
在您的情况下,如何修改您的脚本如下?
从:
}
else
folder = root.createFolder(name);
至:
} else {
folder = root.createFolder(name);
["Quote", "Detailing", "Delivery"].forEach(function(e) {
folder.createFolder(e);
});
}
在此修改中,
folder
在您的脚本中使用文件夹名称为“Quote”、“Detailing”、“Delivery”的子文件夹创建在folder
.从您的脚本中,我担心您可能会禁用 V8 运行时。所以我用
forEach(function(e) {})
. 如果您使用的是 V8 运行时,您还可以使用以下脚本。["Quote", "Detailing", "Delivery"].forEach(e => folder.createFolder(e));
推荐阅读
- validation - 在领域驱动设计中应该将输入验证放在哪里?
- reactjs - React 找不到模块“react-vis”的声明文件
- kubernetes - Kubernetes 中 OrientDB 的 StatefulSet 卷挂载
- d3.js - D3js水平条形图:如何在每个条的末尾添加数据中的数字?
- java - 将“破管道”字符从 ASCII 转换为 EBCDIC 以进行 Java/旧版实现
- vue.js - 在 vue App 中使用 Axios GET 和 Authorization Header
- php - 无法从 ZF2 Twitter 用户搜索中获取派生属性
- python - 操作顺序 - Python 3
- node.js - 快递中的bodyparse文本数据
- winapi - 如何使用 sendmessage 发送在 win32 中具有 timer proc 的 wm_timer