通过复选框输入执行宏

时间:2016-05-18 11:04:51

标签: vba ms-word word-vba word-2007 word-2003

我有Check-Boxes国家/地区名称标题和OK上的User-form按钮,

enter image description here

用户Mark需要Check-Boxes,然后点击OK提交表单。

预期结果:对于每个已检查的Box,都需要执行Macro

如何使OK按钮在用户选中标记的选定国家/地区执行宏?

以下代码是否正确处理了这种情况?还是有其他方法可以做到这一点?

If ActiveDocument.CeemeaFinallist.EasternEurope("CheckBox1").CheckBox.Value = True Then
Application.Run MacroName:="Normal.NewMacros.CEEMEA2"
Else
End If

enter image description here

我如何Select all Check-Boxes一次?

1 个答案:

答案 0 :(得分:1)

尝试迭代控件并触发复选框设置为True的宏:

Private Sub CommandButton1_Click()
Dim ctl As Control
Dim j As Long
For Each ctl In Me.Controls
    If TypeOf ctl Is MSForms.CheckBox Then
        If Me.Controls(ctl.Name).Value = True Then
            ' Fire macro with ctl.Caption to identify the country
        End If
    End If
Next    
End Sub