簡體   English   中英

Libreoffice Base 宏 - 如何使表單上的控件可見/隱藏?

[英]Libreoffice Base macro - How to make visible/hide a control on a form?

我創建了一個包含 2 個組合框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 套件中使用過宏,所以我的移動速度非常慢。

我上次使用 BASIC 大概是在 1990 年左右。

我瀏覽了許多在線教程(通常基於 Libreoffice Calc 單元),對 Andrew Pitonyak 的兩本主要書籍(“OpenOffice.org 的有用宏信息”和“OpenOffice.org 宏解釋(OOME)”)進行字符串搜索,但之后嘗試了大量的片段我一無所獲。

libreoffice 宏相同- 在文本字段上切換 enablevisible

任何指針?

這是一個工作片段(不保證是最直接的,因為我對宏的體驗是一天之久):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM