Рассмотрим небольшой макрос, который может в автоматическом режиме выровнять все таблицы, которые содержатся в документе, по ширине страницы (относительно полей).
Многие встречаются с проблемами форматирования текста в документах, который добавляли из разных источников без «правильной» вставки. С таблицами обстоятельства еще более сложные. Желательно при вставке текста выбирать «Сохранить только текст». Такой текст гораздо легче и быстрее можно отформатировать чем тест с исходным форматированием из нескольких источников. Часто проблемы с таблицами и форматированием текста документов я наблюдаю после распознавания документов программой FineReader и переносом его в текстовый редактор Word. Это было небольшое отступление, на заметку.
Если вы решили выровнять все таблицы документа по ширине окна с учетом полей, скопируйте следующий код макроса (источник: wordexpert.ru):
Sub tableAutoFit()
' Выравнивает все таблицы в документе по ширине окна
Dim myTable As table
For Each myTable In ActiveDocument.Tables
myTable.AutoFitBehavior wdAutoFitWindow
Next myTable
End Sub
Алгоритм использования макроса:
1. Открываем вкладку «Вид», тогда «Макросы → Макросы».
2. В поле имени вводим любое имя без пробелов для нашего макроса и нажимаем «Создать».
3. Откроется окно визуального редактора Microsoft Visual Basic. Код с именем вашего новосозданного макроса (у меня макрос называется tableAutoFit, снизу хорошо видно на скриншотах) нужно удалить и заменить на скопированный выше.
4. Открываем или создаем документ с таблицами, которые нужно выровнять по ширине и идем в «Вид → «Макросы → Макросы». Далее находим наш макрос (tableAutoFit), выбираем его из списка (если макросов больше одного) и нажимаем «Выполнить». После выполнения вы увидите результат.
Результат работы макроса в скриншотах:
Совет. Перед выполнением макроса (не только рассматриваемого в данной статье, но и всех остальных) выполняйте резервное копирование документа чтобы предупредить потерю данных.
Если нужно иметь быстрый доступ к макросу, читайте следующую статью.