Google apps script 如何在谷歌应用程序脚本中打开URL?

Google apps script 如何在谷歌应用程序脚本中打开URL?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,[] 这是我的工作表,我在其中手动填写第一行的开始时间。我第一次手动打开链接,并将我对“可购买”列的判断标记为是/否。一旦我标记了我的判断,我希望“结束时间”列自动填充,下一行“URL”列中的链接自动打开并重复相同的序列。这是可能的应用程序脚本,因为我需要在谷歌电子表格上执行这项任务 if(r.getColumn()==4){ var endCell=r.offset(0,4); if(endCell.getValue()==='') var date=Utilities.formatDate(

[]

这是我的工作表,我在其中手动填写第一行的开始时间。我第一次手动打开链接,并将我对“可购买”列的判断标记为是/否。一旦我标记了我的判断,我希望“结束时间”列自动填充,下一行“URL”列中的链接自动打开并重复相同的序列。这是可能的应用程序脚本,因为我需要在谷歌电子表格上执行这项任务

if(r.getColumn()==4){
var endCell=r.offset(0,4);
if(endCell.getValue()==='')
var date=Utilities.formatDate(new Date(),timezone,timestamp_format);
endCell.setValue(date);
var startCell=r.offset(1,-1);
startCell.setValue(date);

现在,当我填写可购买栏时,这可能会填写一个示例的开始和结束时间,但我不知道如何打开下一个URL而不单击它

对于这个问题,我有一个非编码的解决方案,只需点击几下


在这个例子中,在结束时间列中输入公式=now()。更改“是”或“否”列时,“结束时间”列将自动更新。您只需单击该行的时间戳,按ctrl+c进行复制,按ctrl+shift+v进行粘贴。这将只粘贴时间,而不使用使时间戳永久化的公式

正如Sandy所说,“您不能直接从服务器端应用程序脚本代码打开新的浏览器选项卡或浏览器窗口。” 据我所知,唯一的解决办法是打开一个对话框,从而自动打开URL。但在打开URL之前,您将在电子表格UI中看到对话框的弹出窗口

代码.gs

function open_dialog()
{
    var temp_dialog = HtmlService.createHtmlOutputFromFile("temp_dialog").setTitle("everw");
    SpreadsheetApp.getUi().showModalDialog(temp_dialog,"Name");
}
temp_dialog.html

<html>
  <a href="Replace_the_url" id="link" target="_blank" ></a> 
</html>
<script>
  document.getElementById("link").click();
  google.script.host.close();
</script>

document.getElementById(“链接”)。单击();
google.script.host.close();

我已经提供了下面的代码。您可以在Google Sheets等中的脚本中添加此代码。添加触发器或按钮。 一旦触发脚本,它将打开一个带有所需URL的浏览器选项卡

function openNew() {
 var js = " \ 
    <script> \
     window.open('**https://exmaple.com**','_blank','width=800, height=600'); \
}) \
    </script> \
  ";
 var html = HtmlService.createHtmlOutput(js)
    .setHeight(10)
    .setWidth(100);
 Logger.log(html);
 SpreadsheetApp.getUi().showModalDialog(html, 'Now Loading'); // If you use this on Spreadsheet
}
函数openNew(){ var js=“\ \ 打开窗户**https://exmaple.com**“,”空白“,”宽度=800,高度=600“\ }) \ \ "; var html=HtmlService.createHtmlOutput(js) .设置高度(10) .设置宽度(100); Logger.log(html); SpreadsheetApp.getUi().showModalDialog(html,“正在加载”);//如果你在电子表格上使用这个 }
这是我的工作表。无法访问您的链接。如果可能的话,你应该将你的数据以文本的形式直接发布到你的帖子中,而不是发布一个链接。现在它可以访问了。谢谢你的提醒,我无法访问它。能否再次检查设置?无法从服务器端应用程序脚本代码直接打开新的浏览器选项卡或浏览器窗口。您可以使用打开对话框的On Edit触发器,该对话框将运行“onload”命令,然后打开新的浏览器选项卡,然后关闭对话框。这是唯一的方法。是否有任何命令可以自动打开URL?express.google.com/product/15004630315996151317_0_8175035?eflags=LOCATION_SERVICE_USER_TAGS:POGXONBOARDING | POGX | WALMART这是一个不通过脚本打开的链接,但直接从工作表中单击时会打开。它显示错误400。你能帮忙吗?我已经编辑了一些代码。你能用你的URL替换“href”值再试一次吗。错误400。在此服务器上找不到请求的URL。这是因为谷歌加强了安全措施吗??否则,当从电子表格中“单击”时,URL在浏览器中打开得很好。请问您是从哪个上下文调用此方法的。我在尝试时没有遇到任何这样的错误,代码运行良好。我通过一个onClick按钮将此链接放入电子表格来调用它。我也尝试过这种方法,得到了同样的结果。但该链接在记录器中显示得非常正确。Link=“express.google.com/product/15004630315996151317\u 0\u 8175035?ef‌​lags=位置和服务‌​E_用户_标签:POGXONBO‌​ARDING | POGX | WALMART“试着用你的方法打开它!