[英]Getting Error: “sheet.indexOf is not a function” when creating dropdown in Google Apps Script
我想在谷歌表格側邊欄中創建一個下拉列表,其中將包含名稱中不包含“查找”的所有表格的名稱。
我正在嘗試使用 scriptlet 過濾工作表名稱,這就是我在 Page.html 文件中得到的內容:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<!-- Select an exisiting data table -->
Select sheet to classify: <br>
<select id="dataSheetDropdown">
<? var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() ?>
<? for(var i=0;i<sheets.length;i++) { ?>
<? sheet = sheets[i] ?>
<? if(sheet.indexOf("Lookup")>-1){?>
<option> <?= sheet.getName()?> </option>
<? } ?>
<? } ?>
</select>
<button onclick="selectLookup()">Select</button>
<script>
function selectLookup(){
var name=document.getElementsById("sheetDropdown")[0].value;
google.script.run.goToSheet(name);
};
</script>
</body>
</html>
當我嘗試運行此腳本時,我收到此錯誤:
TypeError: sheet.indexOf is not a function
知道如何讓我的腳本正確運行嗎? 您的幫助將不勝感激
我相信你的目標如下。
Lookup
的工作表名稱的工作表並將它們顯示到下拉列表中。sheet
是表 object。 這樣,這樣的錯誤發生在indexOf
。Lookup
的工作表時,請使用if(sheet.getSheetName().indexOf("Lookup") == -1){
。當你的腳本被修改后,它變成如下。
<? sheet = sheets[i]?> <? if(sheet.indexOf("Lookup")>-1){?> <option> <?= sheet.getName()?> </option> <? }?>
至:
<? sheet = sheets[i]?> <? if(sheet.getSheetName().indexOf("Lookup") == -1){?> <option> <?= sheet.getSheetName()?> </option> <? }?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.