【发布时间】:2020-09-28 11:20:43
【问题描述】:
我在按列组织的谷歌工作表上有一堆内容。我想要一个脚本来检查第 1 行从单元格 4 到 100 以查看是否出现字母 X。如果出现字母 X,则脚本应隐藏该列。
然后与第 1 行内容无关,取消隐藏所有列的反面。我找到了这个 sn-p 的代码,但它们似乎并没有真正做任何事情,没有显示失败或错误,只是没有隐藏列
function hideColumn() {
// get active spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get first sheet
var sheet = ss.getSheets()[0];
// get data
var data = sheet.getDataRange();
// get number of columns
var lastCol = data.getLastColumn()+1;
Logger.log(lastCol);
// itterate through columns
for(var i=1; i<lastCol; i++) {
if(data.getCell(1, i).getValue() == 'x') {
sheet.hideColumns(i);
}
}
}
function showColumn() {
// get active spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get first sheet
var sheet = ss.getSheets()[0];
// get data
var data = sheet.getDataRange();
}
我已经设法直接在 Excel 中编写了相同的操作,并且它们按照下面的代码完全按照我想要的方式工作,但是,当我将 .XLSM 文件上传到 Google Drive 和时,谷歌不喜欢命令按钮或代码作为工作表运行....有什么想法吗?下面的 Excel 代码运行良好
Private Sub CommandButton1_Click()
For i = 4 To 30
If Worksheets("Current Orders").Cells(1, i).Value = "x" Then
Worksheets("Current Orders").Columns(i).Hidden = True
End If
Next
End Sub
Private Sub CommandButton2_Click()
For i = 4 To 30
Worksheets("Current Orders").Columns(i).Hidden = False
Next
End Sub
【问题讨论】:
标签: google-apps-script google-sheets