从Google电子表格范围中选择HTML选项
我正在寻找一个真正有效的代码,我尝试的一切都不起作用。有人能帮我吗从Google电子表格范围中选择HTML选项,html,google-apps-script,google-sheets,Html,Google Apps Script,Google Sheets,我正在寻找一个真正有效的代码,我尝试的一切都不起作用。有人能帮我吗 Sidebar.gs function onOpen() { SpreadsheetApp.getUi() // Or DocumentApp or FormApp. .createMenu('Update project') .addItem('Open', 'showSidebar') .addToUi(); } 侧边栏显示正确,但组合中没有数据。我错过了什么 function s
Sidebar.gs
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Update project')
.addItem('Open', 'showSidebar')
.addToUi();
}
侧边栏显示正确,但组合中没有数据。我错过了什么
function showSidebar() {
var html = HtmlService.createHtmlOutputFromFile('Index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Project updater')
.setWidth(200);
SpreadsheetApp.getUi()
.showSidebar(html);
}
Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<p>Create sub-folders </p>
</head>
<body>
<script> // SpreadSheet
var activSpSh = SpreadsheetApp.getActive();
// Feuille répertoires créés
var foldersSh = activSpSh.getActiveSheet();
var lastRow = foldersSh.getLastRow();
var myRange = foldersSh.getRange("A2:A"+lastRow);
var data = myRange.getValues();
</script>
<div>
<select>
<script> for (var i = 0; i < data.length; ++i) { </script>
<option><script>= data[i].getvalue(); </script></option>
<script> } </script>
</select>
</div>
</body>
</html>
函数showSidebar(){
var html=HtmlService.createHtmlOutFromFile('索引')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle(“项目更新程序”)
.设置宽度(200);
SpreadsheetApp.getUi()
.showSidebar(html);
}
Index.html
创建子文件夹
//电子表格
var activSpSh=SpreadsheetApp.getActive();
//福耶尔研究中心
var foldersSh=activSpSh.getActiveSheet();
var lastRow=foldersSh.getLastRow();
var myRange=foldersSh.getRange(“A2:A”+lastRow);
var data=myRange.getValues();
对于(var i=0;i
谷歌应用程序脚本方法在服务器端运行,因此不能在HTML文件中直接调用它们。相反,应该使用多种可用的方法来调用它们。有关更多详细信息,请参阅。您需要使用createTemplateFromFile()
方法,而不是createHtmlOutFromFile()
方法
function showSidebar() {
var html = HtmlService.createTemplateFromFile('Index')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Project updater')
.setWidth(200);
SpreadsheetApp.getUi()
.showSidebar(html);
}
您现在在
标记中的代码需要位于脚本(服务器端)文件中,其中包含返回数据代码>语句
代码.gs
函数myFunction(){
var activSpSh=SpreadsheetApp.getActive();
//福耶尔研究中心
var foldersSh=activSpSh.getActiveSheet();
var lastRow=foldersSh.getLastRow();
var myRange=foldersSh.getRange(“A2:A”+lastRow);
var data=myRange.getValues();
var optionsHTML=“”;
对于(变量i=0;i
然后需要使用打印脚本:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<p>Create sub-folders </p>
</head>
<body>
<div>
<select>
<?!= myFunction(); ?>
</select>
</div>
</body>
</html>
创建子文件夹
谢谢,我无法创建这两个函数与HTML之间的关系。
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<p>Create sub-folders </p>
</head>
<body>
<div>
<select>
<?!= myFunction(); ?>
</select>
</div>
</body>
</html>