我在一个计算表中有超过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
答案 0 :(得分:1)
假设通过与复选框的交互触发宏:
Sub Macro1 (oEvent As Object)
Dim oCheckbox1 As Object
Dim sCheckbox1Name As String
oCheckbox1 = oEvent.source.model
sCheckbox1Name = oCheckbox1.Name
End Sub