获取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
我认为在您的情况下,即使使用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');
在本例中,请声明
sheet
、nom
、destFolder
的变量如果你想用
从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");