是否可以使用公式和云端硬盘文件路径将图像插入到 Google 表格电子表格中?

Is it possible to insert an image into a Google Sheets spreadsheet using a formula and Drive file path?

Google 云端硬盘文件在上传时通过唯一(随机)URL 共享出去。有没有一种方法可以通过使用图像文件路径的表格公式上传图像,而不是共享 URL?

而不是使用:https://drive.google.com/file/(分享link)

公式将使用类似:Drive/Test/img.pngDrive/Test/img.gif

我注意到在 Google Sheets 的 IMAGE 功能的帮助中它明确指出您不能使用在 drive.google.com 上托管的图像,但我想知道是否还有另一个实现此目的的方法。

如果您想获取特定文件夹中的特定图像,您将不得不浏览您的驱动器,因为多个文件夹和多个文件可以具有相同的名称。

function listOfFilesOfFolder() {
  var myFolder = 'yourFolder';
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('yourSheet');
  sh.clear();
  sh.appendRow(["name", "date", "URL", "id", "type"]);
  var folders = DriveApp.getFoldersByName(myFolder)
  var foldersnext = folders.next();
  var data = [];
  var files = foldersnext.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    data = [ 
      file.getName(),
      file.getLastUpdated(),
      file.getUrl(),
      file.getId(),
      file.getMimeType()
    ];
    sh.appendRow(data);
  }
  sh.getRange('F1').setFormula(`={"image";arrayformula(if(D2:D="",,if(left(E2:E,5)="image",IMAGE("https://docs.google.com/uc?export=view&id="&D2:D),)))}`)
}

很遗憾,这是不可能的。由于Google Drive支持同一文件夹下存在多个同名文件,文件路径不足以唯一标识一个文件,因此无论“文件路径”是否为“文件路径”,都需要文件ID独特与否。