首页 > 其他分享 >如何用 ONLYOFFICE 宏隐藏电子表格的行与列

如何用 ONLYOFFICE 宏隐藏电子表格的行与列

时间:2023-08-23 17:38:17浏览次数:43  
标签:const rowsToHide SetHidden 电子表格 hidden ONLYOFFICE 隐藏

管理大规模数据库可能会非常耗时,这时就能体会到 ONLYOFFICE 宏的好处,它可以自动执行任务并挖掘电子表格的潜力。 在这篇文章中,我们会展示如何创建一个用户友好的宏来隐藏或展开特定的行和列。 此外,虽然我们文件中的宏示例部分中有一个类似的,但是这个宏更加用户友好。

如何用 ONLYOFFICE 宏隐藏电子表格的行与列_宏

什么是 ONLYOFFICE 宏

如果您是一名资深 Microsoft Excel 用户,那么相信您已对于 VBA 宏非常熟悉了。这些宏是帮助您自动执行日常任务的小型脚本。无论是重构数据,还是在单元格区域中插入多个值。ONLYOFFICE 宏的基础是 JavaScript 语法与文档生成器 API 方法。基于 JavaSript 的宏易于使用,具有跨平台特性且十分安全。这就使得其与 VBA 相比有着显著的优势。

ONLYOFFICE 文档免费在线宏课程

近期,我们将开始发布有关 ONLYOFFICE 解决方案的免费视频课程。首个视频课程将关注 ONLYOFFICE 文档中的宏,现已在 YouTube 上提供。

本课程分为 4 节,每节时长大约在 5-10 分钟。您将了解宏的工作原理,以及一些实际的例子。为了方便起见,我们还在视频描述中添加了时间戳 – 只需点击一下即可转到您感兴趣的主题。

阅读这篇文章,了解更多。

构建宏

首先,我们检索 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() 方法根据隐藏状态的相反情况隐藏或取消隐藏相应的行。 例如,如果 hide 为 true,则该行将取消隐藏(!hidden 为 false),如果 hide 为 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 宏,您可以自动执行任务、提高工作效率并自定义文档。 与我们分享您的想法和问题,期待与您合作。祝探索之路好运!

相关链接

如何将微软 Office 宏转换为 ONLYOFFICE 宏

ONLYOFFICE 宏示例

ONLYOFFICE 电子表格 API

Github 上的 ONLYOFFICE

ONLYOFFICE 文档中的宏 [免费教程-英文]


标签:const,rowsToHide,SetHidden,电子表格,hidden,ONLYOFFICE,隐藏
From: https://blog.51cto.com/u_15679924/7204978

相关文章

  • mac系统如何显示和隐藏文件
    苹果MacOSX操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):显示Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFiles-booltrue隐藏Mac隐藏文件的命令:defaultswrite......
  • ios开发之--首页 导航栏隐藏 下一级页面显示,pop回来显示白条
    解决方法,在首页中实现如下两个方法,代码如下:-(void)viewWillDisappear:(BOOL)animated{[superviewWillDisappear:animated];[self.navigationControllersetNavigationBarHidden:NOanimated:NO];}-(void)viewWillAppear:(BOOL)animated{[superviewWillAppear......
  • ios中隐藏导航栏后,modal时出现白色闪动
    从无导航页面导航进到下级页面,导航栏一闪而过,也很简单,再在压栈控制器里面再坐下处理,代码如下:-(void)viewWillDisappear:(BOOL)animated{[superviewWillDisappear:animated];if(self.parentViewController.childViewControllers.count>0){[self.navigati......
  • 随记:记几个查看图片及其隐藏信息的命令
    记几个查看图片及其隐藏信息的命令:1.Exiftool:查看图片的元数据信息安装:apt-getinstallexiftool使用:exiftoolpicname 2.Steghide查看、合并或者分离图片中的信息安装:apt-getinstallsteghide使用:Echo"hello,world">1.txt   //准备一个待写入图片的文件Steghideembed......
  • 无涯教程-TensorFlow - 感知器的隐藏层
    在本章中,无涯教程将专注于从x和f(x)的已知点集中学习的网络,由单个隐藏层将构建此简单网络。解释感知器隐藏层的代码如下所示-#Importingthenecessarymodulesimporttensorflowastfimportnumpyasnpimportmath,randomimportmatplotlib.pyplotaspltnp.ran......
  • web浏览器查看隐藏的密码
    有时候我们在web浏览器中输入密码时,有些系统密码框并没有查看密码的小脚丫,我们也不知道有没有输错,如下图:查看隐藏的密码(此方法也适用于已经保存过的密码):1、我们在密码框中鼠标右键,选择“检查”2、然后会进入代码检查器3、我们将代码type="password"这项改为 type="text"......
  • CodeGeeX中这些隐藏的设置,你知道吗?
    随着CodeGeeX整体性能的升级,越来越多的用户发现CodeGeeX的很多实用功能,能够帮助程序员更快更好的编写代码和解决技术问题。近期,我们看到许多用户在使用CodeGeeX的过程中,有一些相似的疑问。比如,很多人希望能够通过调整设置,让CodeGeeX的生成方式、工作语言更符合自己的习惯。今天的......
  • 在Teams/Outlook全局通讯簿中隐藏AAD帐户和组
    背景需求出于安全考虑,某些AzureAD中的组和用户,需要在通讯簿中隐藏,而不被其他用户搜索到。操作步骤隐藏用户使用如下命令查看用户ShowInAddressList属性:Get-AzureADUser-ObjectIduser@contoso.onmicrosoft.comShowInaddresslist=Null代表账号默认不隐藏使用如下命令修改ShowIn......
  • v-charts 隐藏小圆点
    <ve-line:data="yearChartData":extend="chartExtend":settings="yearSettings"></ve-line>需要注意的是,想要隐藏线上的小圆点,不能再settings添加添加,添加了无效,需要额外增添属性extend(扩展属性)就行配置this.chartExtend={//:extend最终所有的配置都可以用这个值重......
  • Windows隐藏程序,防卸载
    win+R打开注册表64位程序进入以下位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall32位程序进入以下位置HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall如果在第一个位置看不到应用,请导航到第二个注册表......