table

Рассмотрим небольшой макрос, который может в автоматическом режиме выровнять все таблицы, которые содержатся в документе, по ширине страницы (относительно полей).

Многие встречаются с проблемами форматирования текста в документах, который добавляли из разных источников без «правильной» вставки. С таблицами обстоятельства еще более сложные. Желательно при вставке текста выбирать «Сохранить только текст». Такой текст гораздо легче и быстрее можно отформатировать чем тест с исходным форматированием из нескольких источников. Часто проблемы с таблицами и форматированием текста документов я наблюдаю после распознавания документов программой FineReader и переносом его в текстовый редактор Word. Это было небольшое отступление, на заметку.

Если вы решили выровнять все таблицы документа по ширине окна с учетом полей, скопируйте следующий код макроса (источник: wordexpert.ru):

Sub tableAutoFit()
' Выравнивает все таблицы в документе по ширине окна
Dim myTable As table
For Each myTable In ActiveDocument.Tables
   myTable.AutoFitBehavior wdAutoFitWindow
Next myTable
End Sub

Алгоритм использования макроса:

1. Открываем вкладку «Вид», тогда «Макросы → Макросы».

table

table

2. В поле имени вводим любое имя без пробелов для нашего макроса и нажимаем «Создать».

table

3. Откроется окно визуального редактора Microsoft Visual Basic. Код с именем вашего новосозданного макроса (у меня макрос называется tableAutoFit, снизу хорошо видно на скриншотах) нужно удалить и заменить на скопированный выше. 

table

table

4. Открываем или создаем документ с таблицами, которые нужно выровнять по ширине и идем в «Вид → «Макросы → Макросы». Далее находим наш макрос (tableAutoFit), выбираем его из списка (если макросов больше одного) и нажимаем «Выполнить». После выполнения вы увидите результат.

table

Результат работы макроса в скриншотах:

table
 


 

table

Совет. Перед выполнением макроса (не только рассматриваемого в данной статье, но и всех остальных) выполняйте резервное копирование документа чтобы предупредить потерю данных.

Если нужно иметь быстрый доступ к макросу, читайте следующую статью.