谷歌脚本表隐藏/取消隐藏
Posted
技术标签:
【中文标题】谷歌脚本表隐藏/取消隐藏【英文标题】:Google Scripts Sheets hide/ unhide 【发布时间】:2014-12-15 00:49:41 【问题描述】:在为我的特定工作表编写“自定义函数”Google 脚本时,我只想隐藏一列:
function hideColumn(index)
// get active spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get first sheet
var sheet = ss.getSheets()[0];
sheet.hideColumns(index);
当我从脚本编辑器中运行此代码时,它可以正常工作,但如果我尝试从单元格“=hideColumn(2)”中运行它,我会收到以下错误:
“您无权调用 hideColumns(第 48 行)。”
从同一个工作表/脚本中,我可以运行其他自定义函数,例如:
function metersToMiles(meters)
if (typeof meters != 'number')
return null;
return meters / 1000 * 0.621371;
这似乎是从工作表内部运行的 hideColumns 函数的一些问题? (即自定义函数?)
【问题讨论】:
【参考方案1】:您的脚本“hideColumn”不是自定义函数,而是“普通脚本”。它也不会返回任何东西(而第二个函数会)。只能像电子表格中的公式一样输入自定义函数。请参阅here 了解更多信息。我的建议是使用 onOpen 触发器创建一个额外的菜单项,以便您可以从(电子表格)菜单运行该功能。
希望有帮助吗?
【讨论】:
您好,感谢您的反馈。 'hideColumn' 是一个自定义函数,因为返回数据不是必需的。但是,您说得对,菜单项是唯一的解决方案。我没有从您发送的链接中注意到谷歌开发者页面上的这段话:“自定义函数不能影响除了它返回值的单元格之外的单元格。换句话说,自定义函数不能编辑任意单元格,只有调用它的单元格及其相邻单元格。要编辑任意单元格,请改用自定义菜单来运行函数。" 这就是问题所在:hideColumns() 将失败,因为它会影响其他单元格。以上是关于谷歌脚本表隐藏/取消隐藏的主要内容,如果未能解决你的问题,请参考以下文章
隐藏的工作表会导致Google表格的导出工作表作为PDF网址的输出损坏