Libreoffice Base基本宏-如何在窗体上显示/隐藏控件

问题描述 投票:0回答:1

我创建了一个带有两个组合框Combo1Combo2的数据库表单。Combo2可见性取决于Combo1状态:Combo1选中,Combo2可见; Combo1未选中,Combo2隐藏。

我希望找到类似Combo2.setVisible(Combo1.isVisible())的东西,但我一直过于乐观。

这是我一直在玩的宏:

Sub MyMacro(oEvent as Object)
    msgbox(oEvent.Source.getState())   rem returns Checked/Unchecked status of Combo1
    msgbox(oEvent.source.model.Name)   rem Name of the Event generator (Combo1)
End Sub
cb2 = ThisComponent.Drawpage.Forms.getByName("MainForm").getByName("Combo2")
msgbox(cb2.Name)

正确打印Combo2,所以我认为我有正确的参考文献...

现在呢?

今天是我使用Libreoffice Base(及其错误)的第一天,这是我想为明天的演示添加的好东西。我从没在Microsoft套件和Libreoffice套件中使用宏,因此我正在缓慢使用veeery。

我上次使用BASIC的时间可能是在1990年左右。

[我在线阅读了许多教程(通常基于Libreoffice Calc单元),并用字符串搜索了Andrew Pitonyak的两本主要书籍(“ OpenOffice.org有用的宏信息”和“ OpenOffice.org Macros Explained(OOME)”)。但是尝试了很多片段后,我却一无所获。

libreoffice macro - toggle enablevisible on a textfield相同

任何指针?

macros libreoffice base
1个回答
0
投票

这是一个有效的代码段(由于我对宏的使用经验长达一天,因此不能保证是最简单的代码:]]

Sub SetVisibility(oEvent as Object)
    cb2 = ThisComponent.Drawpage.Forms.getByName("MainForm").getByName("Combo2")
    cb2.enableVisible = oEvent.Source.getState()   
    rem the action is activated by Combo1, the event source
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.