[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而不点击它?
答案 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
}