我正在编写一个脚本来将文件 URL 复制到 HTML 输出。我遇到的问题是 Url 代码将文本'?usp=drivesdk'添加到 URL 中



获取Url的代码(从已复制的新工作表)

DriveApp.getFileById(sheet.getId()).makeCopy(nom,destFolder).getUrl();
var htmlOutput = HtmlService.createHtmlOutput('<a href="https://docs.google.com/spreadsheets/d' +  '/" target="_blank">' + fileUrl + '</a>')
    .setWidth(350).setHeight(50);
SpreadsheetApp.getUi().showModalDialog(htmlOutput,'Flowcalculator');

Html显示了新文件的正确Url,除了它有一个结尾....../edit?usp=drivesdk。
我需要写一个'format'函数来删除?usp=drivesdk。或者将后缀更改为'share'(我希望用户能够通过点击Url

从ModalDialog打开文件)

我认为在您的情况下,即使使用https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit?usp=drivesdk作为打开电子表格的超链接,也可以使用该链接。

我以为你的脚本中'<a href="https://docs.google.com/spreadsheets/d' + '/" target="_blank">' + fileUrl + '</a>'是需要修改的。在此例中,URL为https://docs.google.com/spreadsheets/d/

如果您想通过点击对话框上的链接来打开复制的电子表格,那么下面的修改如何?

修改脚本:

var fileUrl = DriveApp.getFileById(sheet.getId()).makeCopy(nom, destFolder).getUrl();
var htmlOutput = HtmlService.createHtmlOutput(`<a href="${fileUrl}" target="_blank">${fileUrl}</a>`).setWidth(350).setHeight(50);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Flowcalculator');
  • 在本例中,请声明sheetnomdestFolder的变量

  • 如果你想用https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit?usp=sharing代替https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit?usp=drivesdk,请修改如下:

    •   var fileUrl = DriveApp.getFileById(sheet.getId()).makeCopy(nom, destFolder).getUrl();
      
    •   var fileUrl = DriveApp.getFileById(sheet.getId()).makeCopy(nom, destFolder).getUrl().replace("drivesdk", "sharing");
      

相关内容

  • 没有找到相关文章

最新更新