MS Word - 根据内容控制值隐藏表中的一行

时间:2017-01-18 12:00:16

标签: vba ms-word word-vba

我有一个很长的word文件,包含几个表。 每个表都包含可能适用于用户的项目列表。

我试图找到一种隐藏/屏蔽用户尚未填充的行的方法。

为了做到这一点,我正在考虑编写一个遍历整个文档lookinf的内容控件,然后检查contentcontrol.text =" NULL"然后删除表行(或通过将行高设置为0来隐藏它)。

有什么想法吗?

低于我的部分尝试

Sub HideRows()
Dim d As Document
Set d = ActiveDocument
Dim cc As ContentControl

For Each cc In d.ContentControls         
    If cc.Range.Text = "NULL" Then

        'Delete the table row where this content control is located


    End If
Next
End Sub

1 个答案:

答案 0 :(得分:0)

假设:

  • 每个ContentControl涵盖整行
  • 您不使用文档中的嵌套表

您可以将此代码放在if statement

CC.Range.Tables(1).Rows(CC.Range.Information(wdEndOfRangeRowNumber)).Delete