如何在Google Apps脚本中打开网址?

时间:2017-12-31 20:44:50

标签: google-apps-script google-sheets

[https://docs.google.com/spreadsheets/d/1owEwaLhddXvSfI11AA7ZWmuQh4oeKoVSZkiu9LSlRLU/edit?usp=sharing]

这是我的工作表,我手动填写第一行的开始时间。我是第一次手动打开链接,并将我对“可购买”列的判断标记为Y / N.一旦我标记我的判断,我希望“结束时间”列自动填充,并且下一行“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而不点击它?

3 个答案:

答案 0 :(得分:1)

正如Sandy所说,“你无法从服务器端的Apps脚本代码直接打开新的浏览器选项卡或浏览器窗口。” 我所知道的唯一解决方案是打开一个对话框,然后自动打开URL。但是,在打开URL之前,您将在电子表格UI中看到对话框的弹出窗口。

code.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>

答案 1 :(得分:0)

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

在结束时间列的sheet I have中,公式= now()。当您更改是或否列时,结束时间列将自动更新。您需要做的就是单击该行的时间戳,按ctrl + c复制并按ctrl + shift + v粘贴。这将只粘贴时间而不使公式使时间戳永久化。

答案 2 :(得分:0)

我提供了以下代码。您可以在Google表格等的脚本中添加此代码。向其中添加触发器或按钮。 触发脚本后,它将打开带有所需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
}