【发布时间】:2016-02-24 04:53:49
【问题描述】:
我正在尝试创建一个脚本,该脚本将从活动单元格中获取图像的 URL,打开一个对话框并显示该图像。通过大量的谷歌搜索和试验和错误,我想出了下面的代码,当用户单击“读取单元格 B2”按钮时,它会在对话框中显示图像。请参阅this link 中的电子表格。
问题:如何避免“读取单元格B2按钮”,以便在对话框打开时自动加载图像?
IndexQ.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
function onSuccess(B2Value) {
//document.getElementById('output').innerHTML = B2Value;
document.getElementById('img2').src = B2Value;
}
</script>
<div>
<input type="button" value="Read Cell B2"
onclick="google.script.run.withSuccessHandler(onSuccess).returnCellValue('B2')" />
<br />
Cell B2 contains value: <div id="output"></div>
<br />
<img id="img2" src="" alt="Second Image" height="300">
<input type="button" value="Close Sidebar" onclick="google.script.host.close()" /></div>
</body>
</html>
还有 Code.gs:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Sidebar').addItem('OpenDialog', 'openDialog').addItem('OpenSidebar', 'openSidebar').addToUi()
}
function returnCellValue(cell) {
return SpreadsheetApp.getActiveSheet().getRange(cell).getValue();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('IndexQ').setSandboxMode(HtmlService.SandboxMode.IFRAME).setHeight(500);
SpreadsheetApp.getUi().showModalDialog(html, 'Dialog title');
}
【问题讨论】:
标签: javascript google-apps-script google-sheets