Автор створено

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

Багато хто зустрічається із проблемами форматування тексту у документах, який додавали із різних джерел без «правильного» вставляння. Із таблицями обставини ще більш складніші. Бажано при вставлянні тексту вибирати «Зберегти лише текст». Такий текст набагато легше та швидше можна відформатувати ніж тест із вихідним форматуванням з декількох джерел. Часто проблеми із таблицями та форматуванням тексту документів я спостерігаю після розпізнавання документів програмою 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), вибираємо його із списку (якщо макросів більше одного) та натискаємо «Выполнить». Після виконання ви побачите результат.

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


 


 

Порада. Перед виконанням макросу (не лише розглянутого в даній статі але і всіх інших) виконуйте резервне копіювання документа аби попередити втрату даних.

Якщо потрібно мати швидкий доступ до макроса, читайте наступну статтю.