如何获取我在libreoffice calc(宏)中检查的复选框的名称?

时间:2015-04-24 23:48:49

标签: libreoffice

我在一个计算表中有超过40个复选框,我不想编写每个复选框。我只想要一个明确的工作代码获取复选框的名称

在这个程序中,我必须在宏代码中手动输入复选框的名称:

A="CheckBox1"

到目前为止,这就是我的全部内容:

Sub Marco1
    Dim ocheckbox1
    Dim oForm
    Dim A
    A="CheckBox1"
    oForm = ThisComponent.Sheets(0).DrawPage.Forms.getByIndex(0)
    ocheckbox1 = oForm.getByName(A)
    if ocheckbox1.State = "0" then
        if MsgBox ("Are you sure ?Note: It can't be re-edited", 292) = 6 then
            ocheckbox1.Label = "Checked"
            ocheckbox1.Enabled="False"
        else
            ocheckbox1.Label = "Not Checked"
        End if
    End if
End Sub

1 个答案:

答案 0 :(得分:1)

假设通过与复选框的交互触发宏:

Sub Macro1 (oEvent As Object)
    Dim oCheckbox1 As Object
    Dim sCheckbox1Name As String

    oCheckbox1 = oEvent.source.model
    sCheckbox1Name = oCheckbox1.Name
End Sub