Thursday, October 30, 2025

自动列出云端硬盘档案-Psikometrik档案

有没有想过,当我们有越来越多的档案,特别是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()
      ]);
    }
  });
}



No comments:

Post a Comment

重点介绍

学生课堂评估/学习进度记录

学生课堂评估/学习进度表格 样本即日起将透过 学生课堂评估/学习进度记录专页 传递。 特此告知 。(日后所有更新将在专页处理)            俗称rekod perkembangan murid (以前称为rekod transit)的东西。信息工艺TMK的部分,在年级...