В моей работе мне нужно создавать документы, содержащие много таблиц.

Эти таблицы должны иметь жесткую структуру, включая требование о том, что ни одна ячейка не может быть пустой. (Если в противном случае ячейка была бы пустой, она должна содержать символы «N / A».)

Чтобы помочь в работе с этим требованием для таблиц, я создал макрос, который проверяет таблицу за меня и добавляет символы N / A, где это необходимо. Все, что мне нужно сделать, это поместить точку вставки в целевую таблицу, а затем запустить этот макрос:

Sub AddTableNA()

Dim NumRows As Integer     Dim NumCols As Integer     Dim J As Integer     Dim K As Integer     Dim ChkTxt As String

If Not Selection.Information(wdWithInTable) Then         Exit Sub     End If

NumRows = Selection.Tables(1).Rows.Count     NumCols = Selection.Tables(1).Columns.Count

'Loop to select each row in the current table     For J = 1 To NumRows         'Loop to select each cell in the current row         For K = 1 To NumCols             'Select the cell to check             Selection.Tables(1).Rows(J).Cells(K).Select             'Copy any text in the cell             ChkTxt = Selection.Text             'Strip off the last 2 characters (removes end of cell marker)

ChkTxt = Left(ChkTxt, Len(ChkTxt) - 2)

'If empty, add "n/a" text             If (ChkTxt = "") Then Selection.TypeText ("N/A")

Next K     Next J End Sub

Сначала макрос проверяет, находится ли точка вставки внутри таблицы.

В противном случае макрос преждевременно закрывается. Если это так, то переменные NumRows и NumCols устанавливаются на количество строк и столбцов в таблице соответственно.

Затем макрос проходит через каждую ячейку каждой строки, определяя, содержит ли ячейка что-либо. Из-за способа, которым Word создает таблицы, ячейка всегда будет что-то содержать — маркер конца ячейки — даже если в ней больше ничего нет. Решением было вычесть два символа из конца текста в ячейке, а затем посмотреть, осталось ли что-нибудь. Если нет, то в ячейку вводятся символы «N / A».

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13265) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Putting_Something_in_Every_Cell_of_a_Table [Помещение чего-либо в каждую ячейку таблицы].