取消隐藏工作表

时间:2016-06-30 05:12:52

标签: excel ms-office office-js

我想取消隐藏工作表的所有单元格。我尝试以下代码:

function unhideSheet (sheetName) {
    return Excel.run(function (ctx) {
        var sheet = ctx.workbook.worksheets.getItem(sheetNames[i]);
        sheet.visibility = "Visible";
        sheet.getUsedRange().columnHidden = false;
        sheet.getUsedRange().rowHidden = false;
        return ctx.sync();
    });
}

问题是getUsedRange未涵盖隐藏的空列或行。因此,该函数不会取消隐藏这些隐藏的空列或行。

是否有人知道是否可以获取整个工作表的范围,以便我们可以取消隐藏所有内容?

编辑1: 我已经计算出工作表中的行数是1048576(Excel Online)。奇怪的是sheet.getRange("1:20").rowHidden = false运作良好,而sheet.getRange("1:1048576").rowHidden = false引发错误This operation is not permitted for the current object。是因为范围太大了吗?

我意识到sheet.getRange("1:1048575").rowHidden = false有效

1 个答案:

答案 0 :(得分:0)

要获取工作表的整个范围,请使用sheet.getRange(),就像这样,不指定参数。这有用吗?