gpt4 book ai didi

google-apps-script - 尝试自动打开由脚本创建的文档

转载 作者:行者123 更新时间:2023-12-05 07:56:50 24 4
gpt4 key购买 nike

我有一个电子表格,用于跟踪一系列文档。在电子表格中,我有一个按钮,按下该按钮会从我的驱动器中找到一个特定的模板文件并复制它。该脚本如下所示:

function myFunction() {
var file = DriveApp.getFileById("<template doc id goes here>");
var folder = DriveApp.getFolderById("<folder where new file will go>");
var newfile = "<newly created file name goes here>";

file.makeCopy(newfile, folder);
}

有没有一种方法可以强制新创建的文档在创建后在新选项卡中打开?这样,一旦创建了新文档,我就不需要导航回文件夹并手动打开进行编辑。

最佳答案

如果您正在为原始按钮使用 HTML 服务,您只需添加一个 window.open 函数即可。

<script>
function openTheUrl() {
window.open("http://www.stackoverflow.com");
};
</script>

可以使用文件类的 getUrl() 方法返回新文档的 URL:

Google Documentation - getUrl()

这个过程有多个步骤。

  • 在 HTML 中使用 google.script.run 调用 Apps 脚本 gs 函数
  • Google 服务器端代码创建新文档并返回一个值
  • onSuccess回调函数打开新文档

HTML Script 标签调用应用程序脚本代码,并定义成功函数:

<script>

window.callServerCode = function() {
google.script.run
.withSuccessHandler(openTheUrl)
.myFunction();
}

function openTheUrl(argNewUrl) {
Logger.log('argNewUrl: ' + argNewUrl);
window.open(argNewUrl);
};
</script>

Apps 脚本代码需要返回一个值:

function myFunction() {
var file = DriveApp.getFileById("<template doc id goes here>");
var folder = DriveApp.getFolderById("<folder where new file will go>");
var newfile = "<newly created file name goes here>";

var newFile = file.makeCopy(newfile, folder);
var newDocURL = newFile.getUrl();

return newDocURL;
}

google.script.run withSuccessHandler 函数自动接收返回值。

关于google-apps-script - 尝试自动打开由脚本创建的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com