个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

使用 ONLYOFFICE 宏隐藏和取消隐藏电子表格行和列

原创
软件开发
来源:ONLYOFFICE
API
文档处理
报表
文件处理
office
excel
数据可视化
数据管理
2024-02-08
API
文档处理
报表
文件处理
office
excel
数据可视化
数据管理

管理大型数据集非常耗时。这正是 ONLYOFFICE 宏的优势所在,它可以自动执行任务并释放电子表格的潜能。在本文中,我们将向您展示如何创建一个用户友好型宏,用于隐藏或取消隐藏特定行和列。此外,我们的文档中的宏示例部分也有一个类似的宏,但在这个宏中,我们将把它提升一个档次,使其更加方便用户使用。



构建宏

首先,我们在 ONLYOFFICE 电子表格中获取当前活动工作表,并将其分配给变量工作表:

const sheet = Api.GetActiveSheet()


然后,我们定义一个范围,其中包括活动工作表中从第 A 列(单元格 A1)到第 M 列(单元格 M1)的单元格。我们将使用此范围来操作列:

 const range = sheet.GetRange("A1:M1")


然后创建 rowsToHide 数组,其中包含需要隐藏或取消隐藏的行号。该数组可通过添加或删除行号进行自定义:

const rowsToHide = [5, 8, 9, 12, 14, 16, 21, 22, 31, 32, 33]


此外,我们还创建了 columnsToHide 数组。它包含需要隐藏或取消隐藏的列编号:

const columnsToHide = [2,4,5,7,8,10,11,13,14,16]


然后,我们检索数据表的隐藏状态。

然后,我们检索 rowsToHide 数组中指定的第一行的隐藏状态。如果第一行被隐藏,其余行和列的 SetHidden() 属性将被设置为 false。这样我们就可以取消隐藏选定的行和列。如果 rowsToHide 数组的第一行没有隐藏,则 SetHidden() 属性会被设置为 true,以便隐藏目标范围:

const hidden = sheet.GetRows(rowsToHide[0]).GetHidden()


然后执行 hideUnhideDetails 函数。它负责根据隐藏状态隐藏或取消隐藏行和列。让我们仔细看看它:


function hideUnhideDetails(hidden) {
        rowsToHide.forEach(row => {
            sheet.GetRows(row).SetHidden(!hidden)
        })


此循环遍历 rowsToHide 数组中指定的每一行编号,并使用 SetHidden() 方法根据隐藏状态的相反值隐藏或取消隐藏相应的行。例如,如果 hidden 为 true,则将取消隐藏该行(!hidden 为 false);如果 hidden 为 false,则将隐藏该行(!hidden 为 true)。


  columnsToHide.forEach(column => {
            range.GetCols(column).SetHidden(!hidden)
        })
    }


此循环遍历 columnsToHide 数组中指定的每一列编号,然后使用 SetHidden() 隐藏或取消隐藏该列。


整个宏代码如下:


(function()
{
    const sheet = Api.GetActiveSheet()
    const range = sheet.GetRange("A1:M1")
    const rowsToHide = [5, 8, 9, 12, 14, 16, 21, 22, 31, 32, 33]
    const columnsToHide = [2,4,5,7,8,10,11,13,14,16]
    const hidden = sheet.GetRows(rowsToHide[0]).GetHidden()
    hideUnhideDetails(hidden)
    // Unhide if hidden, Hide if unhidden
    function hideUnhideDetails(hidden) {
        rowsToHide.forEach(row => {
            sheet.GetRows(row).SetHidden(!hidden)
        })
        columnsToHide.forEach(column => {
            range.GetCols(column).SetHidden(!hidden)
        })
    }
})();


现在让我们运行宏,看看它是如何工作的!


点击以上图片免费观看视频 ⬆


我们希望该宏能为您在管理大型数据集时节省时间和精力,让您专注于与工作最相关的信息。使用宏可以充分挖掘ONLYOFFICE的潜力,大大提高您的工作效率。


我们还鼓励您继续探索ONLYOFFICE中宏的可能性。随着对ONLYOFFICE宏的深入了解,您可以自动执行任务、提高工作效率并定制文档。与我们分享您的想法和问题。我们期待与您合作。祝您在探索中取得成功!


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508