如何使用宏在 libreoffice calc 中显示/隐藏 sheet 上的按钮?

How to show / hide a button on a sheet in libreoffice calc using macros?

我在使用 libreoffice calc v5.1.6.2 时遇到了一个小问题,因为我没能找到如何使用宏在 sheet 上显示/隐藏按钮。

我说的是直接在 sheet 上的按钮,而不是对话框按钮(还没有在对话框上测试过,也许它会是同样的问题...)。

所以我可以使用类似的东西启用/禁用它们:

MyButton.enabled = True (or False)

在我用正确的对象填充 "MyButton" 之后,但是没有

MyButton.visible = False

MyButton.isVisible = False

尽管 "visible" 属性 存在于编辑器中,在设计模式下 "enabled" 行的正下方。那么我怎样才能动态地实现它呢?

XrayTool 显示 属性,其名称有点不寻常 EnableVisible

oSheet = ThisComponent.CurrentController.ActiveSheet
oButton = oSheet.DrawPage.Forms.getByIndex(0).getByName("Push Button 1")
oButton.EnableVisible = False  'Hide the button

要使其正常工作,必须关闭 Calc 的设计模式。如果打开,则无论其可见性设置如何,所有按钮都会显示。

注意:我在 API 文档中找不到这个 属性。