我创建了一个包含两个组合框Combo1
和Combo2
的数据库Form。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(及其bug(的第一天,这只是我想为明天的演示添加的一些不错的东西。我以前从未在微软和Libreoffice套件中使用过宏,所以我的移动速度非常慢。
我上一次使用BASIC大概是在1990年左右。
我在网上浏览了许多教程(通常基于Libreoffice Calc单元格(,字符串搜索了Andrew Pitonyak的两本主要书籍(《OpenOffice.org有用的宏信息》和《OpenOffice.orgMacros Explained(OOME(》(,但在尝试了大量片段后,我一无所获。
与libreoffice宏相同-启用文本字段上可见的切换
有指针吗?
这是一个工作片段(不能保证是最直接的,因为我的宏经验长达一天(:
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