gpt4 book ai didi

javascript - ReferenceError: "range"未定义。谷歌脚本

转载 作者:行者123 更新时间:2023-11-28 03:42:32 25 4
gpt4 key购买 nike

嘿,我正在为 friend 开发一个 Google 脚本程序,供 friend 在即将到来的梦幻棒球赛季开始时使用,但我收到了错误

“ReferenceError:未定义“范围”。”

我查了一下,没有发现任何有帮助的东西。我的大部分编程技能都是自学的,所以它们有点断断续续,有些东西我无法理解,直到我让它工作一次。如果您有解决方案或任何想法出了什么问题,我们将不胜感激,并且对错误的解释会更好!谢谢。另外,我还没有实现除 C 之外的任何情况,因为我仍在测试。

//var rowsToHide = new Array();   possibly more effiecent and easier to just hide directly
var pos = "";
//var dataStartRow = 1; would like to add a adjustabke data start spot for use through any spreadsheet
var cellID = "A";
var cellInfo = "";
var cellInfoFirstHalf = "";
var cellInfoSecondHalf = "";
var forwardSlashIndex;
var doublePos = 0; //0 for false, 1 for true
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formula = activeRange.getFormula();

//sets up menu item to use script
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Hide Menu')
.addItem('Show Catchers', 'showCatchers')
.addItem('Show First Base', 'showFirstBase')
.addItem('Show Second Base', 'showSecondBase')
.addItem('Show Third Base', 'showThirdBase')
.addItem('Show Short Stop', 'showShortStop')
.addItem('Show Outfield', 'showOutfield')
.addToUi();
}

//checks which cells need to be hidden
function hideData(posCase) {
switch(posCase) {
case "C":
for (var i=3; i <= range.getNumRows(); i++) {
doublePos = 0;
cellID = "A" + i;
cellInfo = sheet.getRange(cellID).getValue();
forwardSlashIndex = cellInfo.search("/");
if (forwardSlashIndex != -1) {
cellInfoFirstHalf = cellInfo.substring(0,forwardSlashIndex);
cellInfoSecondHalf = cellInfo.substring(forwardSlashIndex + 1);
doublePos = 1;
};
if (doublePos == 0) {
if (cellInfo != "C") {
log(i);
//sheet.hideRows(i, 1);
};
} else {
if (cellInfoFirstHalf == "C" || cellInfoSecondHalf == "C") {
log(i);
//sheet.hideRows(i, 1);
};
};
};
break;
case "1B":



break;
case "2B":



break;
case "3B":



break;
case "SS":



break;
case "OF":



break;
default:
window.alert("There was an error, debugging required!");
break;
};
};

//multiple functions for the multiple menu buttons
function showCatchers() {
pos = "C";
hideData(pos);
};

function showFirstBase() {
pos = "1B";
};

function showSecondBase() {
pos = "2B";
};

function showThirdBase() {
pos = "3B";
};

function showShortStop() {
pos = "SS";
};

function ShowOutfield() {
pos = "OF";
};

最佳答案

此错误消息意味着您正在尝试访问未声明的变量,即没有 var 的变量陈述。 (它确实应该说“未声明”而不是“未定义”,但这就是 JavaScript 中的方式。)我只看到 range 出现一次。在您的脚本中,并且未声明。这行代码写着 for (var i=3; i <= range.getNumRows(); i++) { .

也许你想写 activeRange.getNumRows() 。或者也许你想写 var range = ... ;在脚本的顶部。目前我能告诉你的就这么多了……希望你能自己解决剩下的问题。

关于javascript - ReferenceError: "range"未定义。谷歌脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com