1

我有一个带有几个复选框字段的 word doc。我可以填写文本字段,但还没有弄清楚如何检查复选框。

我不能只在 word 中创建一个宏,然后看看 word 是如何做到的,因为要使用键盘选中复选框(空格键),您必须启用文档保护,这会禁用宏创建。

4

2 回答 2

0

每个复选框都有一个Value属性。您可以将此属性设置为TrueFalse选中或取消选中该复选框。

编辑

我写了一个小宏来勾选活动文档中的所有框。您可以对其进行编辑以满足您的需要。VBA 真的很讨厌,我花了大约 15 分钟才弄明白。

Sub CheckAllBoxes()
    Dim ctrl As ContentControl
    For Each ctrl In ActiveDocument.ContentControls
        If ctrl.Type = wdContentControlCheckBox Then
            ctrl.Checked = True
        End If
    Next
End Sub
于 2013-01-06T04:58:05.703 回答
0

我刚刚尝试使用 VBA 设置一个老式的Word2003 Checkbox。使用那段代码:

' demo purposes - added a command
Private Sub CommandButton1_Click()
    ' FormFields refers to Word2003 FormFields
    If ActiveDocument.FormFields(1).Type = wdFieldFormCheckBox Then
        ActiveDocument.FormFields(1).CheckBox.Value = True
    End If

   ' ContentControls refers to >= Word2007 Controls - thx to StevenDotNet for the hint
   ActiveDocument.ContentControls(1).Checked = True
End Sub

WordCheckBoxControl_Form

另一方面,我用 VB.net 创建了一个 VS2012 WordProject,并添加了一些代码来检查加载框。

Private Sub ThisDocument_Open() Handles Me.Open
    Me.FormFields(1).CheckBox.Value = True
End Sub
于 2013-01-06T06:06:04.827 回答