哎呀.无法隐藏合并开始
Oops. It is not possible to have the merge start hidden
脚本执行完毕后,我收到消息"Oops.不可能隐藏合并开始"。
该脚本隐藏范围中标题字段为空的任何列,并显示不为空的列。我发现,如果某些列有垂直合并,就会导致问题。这是电子表格的链接:https://docs.google.com/spreadsheet/ccc?key=0AphsvceI4elpdGtTSWwtalFpT2xkUWxvNDV1cVZ1S1E&usp=共享
脚本代码为:
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var customColumnsRanges = activeSpreadsheet.getRangeByName("TheseOnes");
function resetColumnsVisibilityIfNotBlank() {
var sheet = customColumnsRanges.getSheet()
var column = customColumnsRanges.getColumn();
var length = customColumnsRanges.getWidth();
var customColumns = customColumnsRanges.getValues();
for (var i = 0; i < length; ++i) {
if (customColumns[0][i] == "") {
sheet.hideColumns(column);
} else {
sheet.showColumns(column);
}
++column;
}
}
如果这些细胞没有融合,那么就没有问题。如果我手动完成,那么也没有问题,但我需要自动拥有此功能。如果有人能帮我解决这个问题,那就太好了!
在隐藏列之前,使用Range.breakapart()
取消合并。您需要获得一个操作范围——在本例中,我们使用Range.offset()
来选择一列。请注意,它选择了从customColumnsRanges
行到工作表底部的所有单元格。
...
if (customColumns[0][i] == "") {
// Get a range containing just this column, and break apart any merges.
var columnRange = customColumnsRanges.offset(0,i,sheet.getMaxRows()-customColumnsRanges.getRow());
columnRange.breakApart();
sheet.hideColumns(column);
Logger.log('Hiding column ' + column);
} else {
...
相关文章:
- JQuery合并了keyup和focusout两个函数
- JSON重构(合并内容)与javascript
- Javascript-根据赋值顺序,按键合并对象数组
- 如何添加类,同时开始在文本字段中输入文本
- 合并两个数组,重新调整循环js
- 如何合并不同集合的游标并按日期排序
- 合并TinyMCE(jQuery插件)文件
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 如何循环通过2个对象数组并通过匹配id进行合并
- 将两个Json提要合并为一个,并按时间排序
- 将项目履行与高级模板合并,并通过电子邮件发送至Netsuite 2.0
- DataTables合并了两个独立表中的jQuery/Javascript函数
- ng模型内的ng重复的ng重复开始
- 承诺合并流
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- 如何使用javascript合并两个对象数组
- 别名或以其他方式合并两个具有不同名称的相同对象原型
- 可以合并或嵌套ES6导入
- Yii2从点击链接开始加载模式
- 哎呀.无法隐藏合并开始