2017-01-18 2 views
2

У меня есть очень длинный файл слов, содержащий несколько таблиц. Каждая таблица содержит список элементов, которые могут или не могут быть применимы к пользователю.MS Word - Скрытие строки в таблице в зависимости от значения контроля содержимого

Я пытаюсь найти способ скрытия/маскировки строк, которые не были заполнены пользователем.

Для этого я подумывал написать подраздел, который просматривает весь документ для элементов управления содержимым, а затем проверяет, соответствует ли 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 

ответ

0

Предполагая, что:

  • каждый ContentControl охватывает всю одну строку
  • не использовать вложенные таблицы в документе

вы можете разместите этот код внутри своего if statement:

CC.Range.Tables(1).Rows(CC.Range.Information(wdEndOfRangeRowNumber)).Delete 
Смежные вопросы