2

MS Word 2016.

У меня большой документ с сотнями таблиц. Я хочу изменить свойства таблицы для всех, чтобы снять флажок «Предпочитаемая ширина».

Есть ли способ выбрать все таблицы, чтобы применить это изменение? Или я должен выбрать их вручную («выбрать все» не работает, так как он также выделяет обычный текст, который отключает свойства таблицы)?

2 ответа2

1

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

Для Word 2010 и более поздних версий вкладка «Разработчик» должна отображаться по умолчанию, но если нет, к ней можно получить доступ через встроенный редактор ленты. В этих приложениях редактор ленты доступен в меню « Файл» > « Параметры» > « Настройка ленты». Установите флажок Разработчик.

После этого перейдите на вкладку « Разработчик »> кнопку « Макросы».

В новом окне введите "Autofit_All_Tables" в показанном текстовом поле, затем нажмите кнопку "Создать", чтобы создать новый макрос.

Вставьте следующий код в область белого текста, полностью заменив существующий код.

Sub Autofit_All_Tables()
Application.ScreenUpdating = False
Dim Tbl As Table
For Each Tbl In ActiveDocument.Tables
  Tbl.AutoFitBehavior (wdAutoFitWindow)
  Tbl.AllowAutoFit = True
Next
Application.ScreenUpdating = True
Application.ScreenRefresh
MsgBox "Done", vbOKOnly
End Sub

Затем нажмите зеленую стрелку «Выполнить» (расположена в красном поле на изображении).

Вы должны получить небольшое окно с надписью "Готово". Закройте окно разработчика VBA и откиньтесь на спинку стула, выглядя довольным собой.

Примечание. Если вы хотите установить ширину в процентах от ширины между полями, создайте макрос с именем "Set_Global_Table_Width" и вставьте вместо него следующий код. Здесь ширина установлена на 100 (т. Е. 100%), но вы можете изменить ее на любой процент после вставки в окно макроса Word VBA Developer, показанное выше.

Sub Set_Global_Table_Width()
Dim pT As Word.Table
For Each pT In ActiveDocument.Tables
 pT.PreferredWidthType = wdPreferredWidthPercent
 pT.PreferredWidth = 100
Next
MsgBox "Done"
End Sub
0

просто используйте курсор, как если бы вы выбрали всю строку, где вы идете до крайнего левого края страницы, до области полей, пока курсоры не сместятся в правую сторону, скажем, на 45 градусов, а затем вы выбираете / выделяете другие также удерживая кнопку управления нажатой после первого выбора. это в основном выбор нескольких строк по всей странице, и я только что обнаружил после стольких рекомендаций форума VB-скриптов (не практично), что это работает и для таблиц. я просто редактирую 21 страницу MSDS ful таблиц прямо сейчас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .