循环遍历Word中的表格并检查是否勾选了复选框

时间:2017-12-18 09:17:31

标签: vba ms-word word-vba

我有4列,每组有2组复选框,我想循环遍历每一组并检查两个复选框是否都已选中,如果它们是退出子并放入项目名称,则选中2个复选框1在msgbox中设置。

Set oRow = oTable.Rows
Set oTable = doc.Tables(3)
For Each oRow In oTable.Rows
    With oRow
        If .Cells(3).Range.Text <> .Cells(3).Range.Text <> "Prep" Or .Cells(3).Range.Text <> "Y" Or .Cells(3).Range.Text <> "" Then
            If .Cells(3).ParentContentControl.Checked = True And .Cells(4).ParentContentControl.Checked = True Then 'error here
                MsgBox "The following item has both preparer and reviewer checked:" & .Cells(2)
                Exit Sub
            ElseIf .Cells(5).ParentContentControl.Checked = True And .Cell(6).ParentContentControl.Checked = True Then
                MsgBox .Cell(2)
                Exit Sub
            End If
        End If
    End With
Next oRow

问题是我一直在收到错误。

  

运行时错误&#39;&#39;对象不支持此属性或方法。

1 个答案:

答案 0 :(得分:1)

要访问嵌入在表格中的ContentControl单元格,您需要以下参考:

If .Cells(3).Range.ContentControls(1).Checked = True And .Cells(4).Range.ContentControls(1).Checked = True Then