Установка согласованной ширины столбцов в нескольких таблицах (Microsoft Word)
Шерил обычно создает документы, в которых много-много таблиц.
Все таблицы единообразны в том, что имеют одинаковую общую структуру. (Каждый из них содержит одинаковое количество столбцов, причем каждый столбец содержит информацию одного и того же типа.) Шерил ищет способ убедиться, что ширина столбцов во всех таблицах согласована.
Решение зависит от того, когда вам нужно создавать таблицы. Если документ новый, то согласованное создание таблиц довольно просто. Как было описано в других WordTips (и которые я не буду здесь вдаваться), вы можете сохранить свои стандартные таблицы в записи автотекста или создать стиль таблицы, который определяет, как вы хотите, чтобы ваша таблица выглядела. При необходимости вы просто вставляете запись автотекста или применяете стиль, и таблица отображается так, как вы хотите.
Решение немного сложнее, если ваш документ уже создан, и вы просто хотите применить согласованность к таблицам, которые существуют в документе. В этом случае решением является использование макроса для изменения ширины столбцов.
Можно создать макрос, который будет быстро переходить по каждой таблице в документе и делать каждый столбец в таблице одинаковой ширины следующим образом:
Sub SetColumnWidths1() Dim t As Table For Each t In ActiveDocument.Tables t.Columns.Width = InchesToPoints(2) Next t End Sub
Однако велики шансы, что вы не хотите, чтобы каждая колонка была шириной 2 дюйма. Вероятно, вы хотите, чтобы каждый столбец имел определенную ширину, отличную от других столбцов. Следующая итерация макроса обрабатывает эту вероятность:
Sub SetColumnWidths2() Dim t As Table For Each t In ActiveDocument.Tables t.Columns(1).Width = InchesToPoints(2) t.Columns(2).Width = InchesToPoints(2.5) t.Columns(3).Width = InchesToPoints(3) Next t End Sub
Недостатком такого макроса является то, что вам нужно указать в кодировке ширину каждого столбца. Кроме того, если в вашем документе есть аномальная таблица (в ней нет такого же количества столбцов, как во всех других таблицах), то макрос беспечно пытается установить ширину столбцов.
Таким образом, лучший подход может заключаться в том, чтобы иметь в документе «модельную» таблицу, а затем настроить все другие таблицы так, чтобы они использовали ту же ширину столбцов, что и эта таблица. Простой подход — вручную отформатировать ширину столбцов первой таблицы в документе, а затем заставить макрос исследовать эту таблицу и использовать ее в качестве шаблона для остальных столбцов таблицы.
Sub SetColumnWidths3() Dim t As Table Dim c As Column Dim ccnt As Integer Dim w() As Single Dim J As Integer Dim K As Integer Set t = ActiveDocument.Tables(1) ccnt = t.Columns.Count ReDim w(ccnt) J = 0 For Each c In t.Columns J = J + 1 w(J) = c.Width Next c For J = 2 To ActiveDocument.Tables.Count Set t = ActiveDocument.Tables(J) If t.Columns.Count = ccnt Then For K = 1 to ccnt t.Columns(K).Width = w(K) Next K Endif Next J End Sub
Этот макрос проверяет количество столбцов в первой таблице (присваивая значение переменной ccnt), а затем смотрит на ширину каждого из этих столбцов (присваивая значения массиву w). Затем он проходит по остальным таблицам в документе и, если количество столбцов в таблице совпадает с числом в переменной ccnt, устанавливает ширину каждого столбца равной ширине, хранящейся в массиве w. В результате каждая таблица в документе (ну, по крайней мере, те, которые имеют такое же количество столбцов, что и первая таблица) имеют одинаковую ширину столбцов.
Здесь есть одна потенциальная проблема: если таблицы в вашем документе каким-либо образом используют объединенные ячейки, это может испортить получаемые вами результаты. В этом случае вы захотите сохранить документ перед запуском макроса.
Таким образом вы можете визуально проверить результаты, а затем при необходимости вернуться к сохраненному документу.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (11692) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Setting_Consistent_Column_Widths_in_Multiple_Tables [Установка согласованной ширины столбцов в нескольких таблицах]
.