有没有想过,当我们有越来越多的档案,特别是Softcopy的时候,要处理起来,也不是那么容易了?
我举例:每所学校4-6年级学生有参与心理倾向测试,俗称psikometrik。但要逐个打印保管学校档案的话,确实有点挑战。打印出来的话,不仅文件多,要保存的话,也不容易。所以,新点子来了:何不将学生的文件,直接保存在云端呢?
但仅仅保存在云端的话,又不是那么容易寻找啊。所以有了这样的一个建议:
- 在云端里,肯定有个文件夹是保存全部档案的。
- 在大文件夹里面,一定有副文件夹,副文件夹,就是依据年份以及年级分辨的。
- 关键:如何将不同的文件夹内容,在Google Sheet列表中,自动列出来呢?
- 但这样的建议和设计,产生新的问题:谁能够在google sheet中开启那些链接呢?公开的话,不适合。但限制的话,谁来限制呢?
无论如何,点子是有了,只是技术性上的限制,还让我们需要考量是否可以有效执行。有兴趣了解这个技术的话,欢迎浏览下面的视频。
若想在同样的谷歌sheet档案中,不同页面,有来自不同的文件夹的档案链接的话,可以考虑这样的编码:(消息来自Chatgpt)
/**
* List files from multiple folders into separate sheets.
*/
function listFilesFromMultipleFolders() {
// 1️⃣ Define your folders and their target sheets
const folderSheetPairs = [
{ folderId: "FOLDER_ID_1", sheetName: "Folder A" },
{ folderId: "FOLDER_ID_2", sheetName: "Folder B" },
{ folderId: "FOLDER_ID_3", sheetName: "Folder C" }
];
const ss = SpreadsheetApp.getActiveSpreadsheet();
folderSheetPairs.forEach(pair => {
const folder = DriveApp.getFolderById(pair.folderId);
const files = folder.getFiles();
const sheet = ss.getSheetByName(pair.sheetName) || ss.insertSheet(pair.sheetName);
// Clear and rewrite headers
sheet.clearContents();
sheet.appendRow(["File Name", "File URL", "Last Updated", "Owner", "File ID"]);
// Loop through files and add info
while (files.hasNext()) {
const file = files.next();
sheet.appendRow([
file.getName(),
file.getUrl(),
file.getLastUpdated(),
file.getOwner().getEmail(),
file.getId()
]);
}
});
}