Макрос выделить все таблицы word

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 01.02.2018 16:26:54

  • NSV
  • рядовой
  • Неактивен
  • Зарегистрирован: 20.01.2018
  • Сообщений: 4

Тема: Макрос для выделения всех таблиц в документе

Добрый день! Помогите, пожалуйста, с созданием макроса для выделения всех таблиц в документе. Заранее спасибо!

2 Ответ от yshindin 01.02.2018 17:23:43

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171
  • За сообщение: 1

Re: Макрос для выделения всех таблиц в документе

NSV пишет:

Добрый день! Помогите, пожалуйста, с созданием макроса для выделения всех таблиц в документе. Заранее спасибо!

Если под выделением вы понимаете операцию выделения текста (нажать курсор,  затем двигать его вправо или влево, не отжимая клавишу, затем отжать, в результате чего указанный таким образом текст выделен), то вручную это можно сделать (удерживая нажатой клавишу Ctrl, а через VBA — нельзя. Подобные вопросы уже рассматривались (напр., см. http://wordexpert.ru/forum/viewtopic.php?id=693).
Если вы хотите в макросе выделять таблицы для их обработки, то следует это делать в цикле, без выделения какого-либо объекта и используя либо объект Table, либо, напр., объект Table.Range. И затем уже в очередном таком объекте выполнять нужную обработку. Например, для изменения размера в шрифта во всех таблицах можно применить такой макрос:

Sub ChangeFontSizeInTables()
Dim tbl As Table
Dim tblrg As Range
For Each tbl In ActiveDocument.Tables
    Set tblrg = tbl.Range
    tblrg.Font.Size = 14
    Set tblrg = Nothing
Next
End Sub

3 Ответ от NSV 01.02.2018 17:40:28

  • NSV
  • рядовой
  • Неактивен
  • Зарегистрирован: 20.01.2018
  • Сообщений: 4

Re: Макрос для выделения всех таблиц в документе

Именно, под выделением имелось в виду, то как бы  таблицы выделялисьс зажатым СTRL по очереди.
Если нельзя через VBA, то где тогда можно просмотреть список всех редактируемых параметров, связанных с форматирование таблиц, и их правильную запись в VBA?

4 Ответ от yshindin 01.02.2018 18:09:37

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Макрос для выделения всех таблиц в документе

NSV пишет:

Именно, под выделением имелось в виду, то как бы  таблицы выделялисьс зажатым СTRL по очереди.
Если нельзя через VBA, то где тогда можно просмотреть список всех редактируемых параметров, связанных с форматирование таблиц, и их правильную запись в VBA?

Вам следует почитать объектную модель Word, напр., внешняя ссылка Там рассмотрены объекты, свойства, методы.
Для изучения «вживую» возможных атрибутов объектов я поступаю так: отображаю в VBA панель Locals (View > Locals Window). Затем в VBA-коде ставлю точку останова после оператора, в котором назначается объект. Для такого способа может сгодиться любой искусственный оператор присваивания, напр.

Set rg = Selection.Range.Paragraphs(1).Range
o = 0

вот как раз на операторе «o = 0» я и ставлю останов. При исполнении макрос останавливается на этом операторе. Тогда я в панели Locals смотрю дерево всех свойств объекта rg, который в приведенном примере соответствует диапазону первого абзаца из числа выделенных в тексте на момент исполнения оператора.
Некоторые атрибуты объектов имеют признак «только чтение» (т.е., изменить их значение через VBA нельзя),  а узнать, какие именно, опять-таки можно, только читая документацию по объектной модели. Там же можно узнать методы и ознакомиться с примерами применения.

5 Ответ от yshindin 01.02.2018 18:16:06

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Макрос для выделения всех таблиц в документе

yshindin пишет:

. . .
Вам следует почитать объектную модель Word, напр., внешняя ссылка
. . .

Более внятное изложение в внешняя ссылка
Кстати, там и про таблицы есть
внешняя ссылка

6 Ответ от yshindin 01.02.2018 18:25:00

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171

Re: Макрос для выделения всех таблиц в документе

Прошу прощения, там материал в основном для VB.Net, а не VBA.
Вот стартовая ссылка для Word 2010:
внешняя ссылка
Там описание всех объектов с примерами.

7 Ответ от yshindin 01.02.2018 18:33:15

  • yshindin
  • генерал-полковник
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 12.05.2012
  • Сообщений: 447
  • Поблагодарили: 171
  • За сообщение: 1

Re: Макрос для выделения всех таблиц в документе

yshindin пишет:

. . .
Кстати, там и про таблицы есть
. . .

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

8 Ответ от NSV 01.02.2018 22:36:35

  • NSV
  • рядовой
  • Неактивен
  • Зарегистрирован: 20.01.2018
  • Сообщений: 4

Re: Макрос для выделения всех таблиц в документе

Спасибо огромное! Очень помогло! Теперь можна работать)

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

В Word легко выбрать таблицу, нажав кнопку точка-выбор-таблица-символ в верхнем левом углу таблицы, как показано на скриншоте ниже. Вы также можете выбрать таблицу с помощью функции «Выбрать таблицу». Однако есть ли способ быстро выбрать все таблицы сразу в документе Word? Методы, описанные в этой статье, помогут вам пройти через это. 


Выбрать все таблицы в Word с кодом VBA
Легко выберите все таблицы в Word с помощью Kutools for Word


Выбрать все таблицы в Word с кодом VBA

1, нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. В открытии Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, Затем скопируйте и вставьте следующий код VBA в окно модуля;

Код VBA: выберите все таблицы в текущем документе:

Sub selecttables()
Dim mytable As Table

For Each mytable In ActiveDocument.Tables
mytable.Range.Editors.Add wdEditorEveryone
Next
ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
End Sub

3. нажмите F5 ключ для запуска кода

После этого сразу же выбираются все таблицы в текущем документе.


Легко выберите все таблицы в Word с помощью Kutools for Word

По сравнению с использованием кода VBA для выбора всех таблиц в документе, Kutools for WordАвтора Выбрать таблицы утилита довольно удобная. Вы можете использовать эту функцию для выбора таблиц в выделенном фрагменте или во всем документе. Пожалуйста, сделайте следующее:

Kutools for Word : С более чем 100 удобными надстройками Word, бесплатно попробовать без ограничений в 60 дня.

Нажмите Кутулс > таблицы > Выбрать таблицы. Смотрите скриншот:

Внимание: Для выбора таблиц в выборе вам необходимо сначала выбрать диапазон, а затем применить функцию.

Тогда вы можете увидеть результаты следующим образом.

Выберите таблицы в выборе:

Выделите таблицы во всем документе:

Если вы хотите получить бесплатную пробную версию этой утилиты, перейдите по ссылке бесплатно скачать программное обеспечение сначала, а затем перейдите к применению операции в соответствии с вышеуказанными шагами.


Демонстрация. Простой выбор всех таблиц в Word с помощью Kutools for Word



Рекомендуемые инструменты для повышения производительности Word

выстрел kutools word kutools tab 1180x121

выстрел kutools word kutools plus tab 1180x120

Kutools For Word — Более 100 расширенных функций для Word, сэкономьте 50% времени

  • Сложные и повторяющиеся операции можно производить разово за секунды.
  • Вставляйте сразу несколько изображений из папок в документ Word.
  • Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.

Комментарии (10)


Оценок пока нет. Оцените первым!

1 / 1 / 0

Регистрация: 04.09.2013

Сообщений: 30

1

Выделение всех таблиц в документе

01.12.2017, 13:13. Показов 31660. Ответов 9


Студворк — интернет-сервис помощи студентам

Как выделить все таблицы в большой документе?
Задача сделать «100% по ширине» и высота строки «минимум 0,3»



0



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

01.12.2017, 13:28

2

MKM, макросом попробуйте

Visual Basic
1
2
3
4
5
6
7
8
Sub Макрос1()
  Dim t As Table
  For Each t In ActiveDocument.Tables
    t.AutoFitBehavior wdAutoFitWindow
    t.Rows.HeightRule = wdRowHeightAtLeast
    t.Rows.Height = CentimetersToPoints(0.3)
  Next
End Sub



2



1234 / 671 / 239

Регистрация: 22.12.2015

Сообщений: 2,093

01.12.2017, 13:41

3

MKM, на форуме обсуждалось, как присвоить всем таблицам один стиль, смотрите тему Как поменять цвет всех таблиц одновременно?
Когда таблицам будет присвоен один стиль — редактируйте настройки таблиц через стиль, он собственно только для этого и предназначен.



1



1 / 1 / 0

Регистрация: 04.09.2013

Сообщений: 30

01.12.2017, 18:22

 [ТС]

4

Казанский, Благодарю, работает!!



0



Ozborn

0 / 0 / 0

Регистрация: 09.03.2019

Сообщений: 1

09.03.2019, 15:15

5

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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Sub Macros_2()
'
' Macros_2 for changing font size and paragraph stile for all tables in the document
'
'
  Dim t As Table
  For Each t In ActiveDocument.Tables
  With t
        .Columns.Select
            With Selection.ParagraphFormat
                .LeftIndent = CentimetersToPoints(0)
                .RightIndent = CentimetersToPoints(0)
                .SpaceBefore = 0
                .SpaceBeforeAuto = False
                .SpaceAfter = 0
                .SpaceAfterAuto = False
                .LineSpacingRule = wdLineSpaceMultiple
                .LineSpacing = LinesToPoints(1.15)
                .Alignment = wdAlignParagraphLeft
                .WidowControl = True
                .KeepWithNext = False
                .KeepTogether = False
                .PageBreakBefore = False
                .NoLineNumber = False
                .Hyphenation = True
                .FirstLineIndent = CentimetersToPoints(0)
                .OutlineLevel = wdOutlineLevelBodyText
                .CharacterUnitLeftIndent = 0
                .CharacterUnitRightIndent = 0
                .CharacterUnitFirstLineIndent = 0
                .LineUnitBefore = 0
                .LineUnitAfter = 0
                .MirrorIndents = False
                .TextboxTightWrap = wdTightNone
            End With
        .AutoFitBehavior wdAutoFitWindow
        .Range.Font.Size = 9   
    End With
  Next t
End Sub



0



0 / 0 / 0

Регистрация: 12.09.2017

Сообщений: 3

29.04.2019, 23:20

6

Можно ли вставить экспресс стиль в этот макрос?



0



0 / 0 / 0

Регистрация: 22.01.2018

Сообщений: 142

26.10.2022, 14:04

7

Добрый день! Можно подобным образом во всех таблицах документа под названием,
кот.переносится при переносе таблицы на другой лист, двойную чёрту (границу) сделать? Как обратиться к именно этим строчка таблицы чтобы их изменить? Название же может быть две строки, не одна, но они помечены, что переносятся.



0



Dinoxromniy

1234 / 671 / 239

Регистрация: 22.12.2015

Сообщений: 2,093

26.10.2022, 15:44

8

Цитата
Сообщение от Ната87Ната
Посмотреть сообщение

под названием,

Заголовок, я полагаю.

Цитата
Сообщение от Ната87Ната
Посмотреть сообщение

кот.переносится при переносе таблицы на другой лист, двойную чёрту (границу) сделать?

Что сделать то надо, толком объясните. Вот это что ли:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub tbl_n()
Dim tblObj As Table, i As Long
For Each tblObj In ThisDocument.Tables
    For i = tblObj.Rows.Count To 1 Step -1
        If tblObj.Rows.Item(i).HeadingFormat Then
            tblObj.Rows.Item(i).Cells.Borders(wdBorderBottom).LineStyle = wdLineStyleDouble
            Exit For
        
        End If
        
    
    Next i
Next tblObj



0



0 / 0 / 0

Регистрация: 22.01.2018

Сообщений: 142

26.10.2022, 16:22

9

По-моему правильно поняли. Но у меня не работает, ругается »object required’. Что не так?

Добавлено через 4 минуты
У меня что-то вообще макросы к таблицам не применяются. Пыталась записать свой, а на таблицы нажимать не даёт.



0



1234 / 671 / 239

Регистрация: 22.12.2015

Сообщений: 2,093

26.10.2022, 16:47

10

Цитата
Сообщение от Ната87Ната
Посмотреть сообщение

Но у меня не работает, ругается »object required’. Что не так?

Не знаю, может есть объединенные строки или вложенные таблицы. Попробуйте выкопировать одну таблицу в новый документ и проверить на ней, когда вычислите проблемную — приложите сюда.



0



I am looking for a way (or decent introduction) into how to select every table in a Microsoft Word 2013 Document and autofit the contents. Each table is independent of one another and separated by text.

I have established the following code so far:

Sub autofit()

    Selection.Tables(1).AutoFitBehavior (wdAutoFitContent)

End Sub

Which works for individual tables and every column in said table, I understand the format of the «for loop», but would like a nudge to how to transform my individual selection to the entire document.

This is my first post so apologies for any conventions I have missed.

cheezsteak's user avatar

cheezsteak

2,6924 gold badges22 silver badges38 bronze badges

asked Dec 18, 2014 at 17:18

Cellobin22's user avatar

Its pretty trivial to loop them all;

Dim t As Table
For Each t In ActiveDocument.Tables
    t.AutoFitBehavior wdAutoFitContent
Next

answered Dec 18, 2014 at 17:22

Alex K.'s user avatar

Alex K.Alex K.

170k30 gold badges263 silver badges286 bronze badges

1

Как в Ворде выделить таблицу?

Также статьи о работе с таблицами в Ворде:

Для применения одинаковых параметров форматирования ко всей таблице в Word, ее необходимо полностью выделить, и далее мы рассмотрим, как в Ворде выделить таблицу.

В принципе, вариантов тут немного, а вернее только два, не учитывая применение макросов. Выделить таблицу в Word можно выделив все ячейки таблицы мышкой, либо нажав на крестик в верхнем левом углу, который появляется при наведении курсора на таблицу. При этом сразу появляется вкладка «Работа с таблицами» для настройки таблиц.

Выделение всей таблицы в Ворде для дальнейшей настройки

Выделение же классическим методом комбинацией клавиш «Ctrl+A» позволяет выделить все, включая таблицы, но при этом вкладка «Работа с таблицами» не появится, так как для этого таблица должна быть активна, т.е. курсор должен быть расположен внутри нее.

Массовое выделение элементов докумена (таблиц, рисунков)

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 17 ]

1 Тема от 1st 28.02.2011 12:12:19

  • 1st
  • сержант
  • Неактивен
  • Зарегистрирован: 04.04.2010
  • Сообщений: 10
Тема: Массовое выделение элементов докумена (таблиц, рисунков)

Доброго времени суток!
Имеется документ, элементы которого (таблицы или рисунки) необходимо форматировать определенным образом. Для этого нужно массовое их выделение с последующим применением различных стилей. Пожалуйста помогите с макросами, который позволил бы выделить отдельно рисунки (и отдельно таблицы). Благодарю!

2 Ответ от Ципихович Эндрю 28.02.2011 17:42:47

  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Массовое выделение элементов докумена (таблиц, рисунков)

если надо несколько таблиц сразу надо узнать начало первой и конец второй и выделить, не смежные части в доке выделить никак

Выделять как таблицы

Отредактировано Ципихович Эндрю (28.02.2011 17:43:49)

3 Ответ от ЮВ 28.02.2011 18:28:06

  • ЮВ
  • генерал-лейтенант
  • Неактивен
  • Зарегистрирован: 28.07.2010
  • Сообщений: 284
  • Поблагодарили: 43
  • За сообщение: 1
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Я не программирую на VBA, поэтому предложение может оказаться неверным.
Подсчитать кол-во таблиц в документе
CountTab=ActiveDocument.Tables.Count
и потом в цикле их выделить
for i=1 to CountTab
ActiveDocument.Tables(i).Select
end

4 Ответ от Ципихович Эндрю 28.02.2011 21:26:56

  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Массовое выделение элементов докумена (таблиц, рисунков)

да всё верно, смотря что автору нужно

5 Ответ от 1st 01.03.2011 10:31:25

  • 1st
  • сержант
  • Неактивен
  • Зарегистрирован: 04.04.2010
  • Сообщений: 10
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Я не программирую на VBA, поэтому предложение может оказаться неверным.
Подсчитать кол-во таблиц в документе
CountTab=ActiveDocument.Tables.Count
и потом в цикле их выделить
for i=1 to CountTab
ActiveDocument.Tables(i).Select
end

В данном случае выделяется таблицы друг за другом, но выделенная остается только полседняя!

Я думал, что можно одним макросом выделить все таблицы (т.е. это как при нажатом ctrl выделяю мышью таблицы в документе) и отформатировать их по своему усмотрению.

Отредактировано 1st (01.03.2011 19:27:36)

6 Ответ от ЮВ 01.03.2011 13:28:05

  • ЮВ
  • генерал-лейтенант
  • Неактивен
  • Зарегистрирован: 28.07.2010
  • Сообщений: 284
  • Поблагодарили: 43
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Я думал, что можно одним макросом выделить все таблицы (т.е. при нажатом ctrl выделяю мышью таблицы в документе) и отформатировать их по своему усмотрению.

Если нажать Ctrl (программно) и запустить макрос — множественное выделение не выполняется?

7 Ответ от Ципихович Эндрю 01.03.2011 19:10:06

  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Не парьтесь:
Я думал, что можно одним макросом выделить все таблицы (т.е. при нажатом ctrl выделяю мышью таблицы в документе) и отформатировать их по своему усмотрению.
Макрос это сделает если у Вас не 600-700 таблиц легко просто будет делать циклом или при условии, что эти таблицы идут следом одна за другой всё можно их выделить сразу все

8 Ответ от ЮВ 02.03.2011 22:00:15

  • ЮВ
  • генерал-лейтенант
  • Неактивен
  • Зарегистрирован: 28.07.2010
  • Сообщений: 284
  • Поблагодарили: 43
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Честно говоря, так и не понял — проблема решена или нет?

9 Ответ от Вождь 03.03.2011 06:01:59

  • Вождь
  • Модератор
  • Неактивен
  • Зарегистрирован: 07.01.2010
  • Сообщений: 745
  • Поблагодарили: 181
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Если изначально таблицы одного стиля, то делаем так:

Рисунки «в тексте» (InLineShapes) выбрать можно только по одному, а все рисунки «перед текстом» (Shapes) выделяем так:

Для массовой обработки последних не обязательно их выбирать, можно и так:

10 Ответ от 1st 03.03.2011 08:59:06

  • 1st
  • сержант
  • Неактивен
  • Зарегистрирован: 04.04.2010
  • Сообщений: 10
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Честно говоря, так и не понял — проблема решена или нет?

Привет всем!
Вопрос актуален! Разбираюсь — читаю литературу по VBA. Может не понятен вопрос?
Имеется документ с множеством таблиц и рисунков. Мне нужно все таблицы в документе выровнять по ширине, текст в таблице по центру и т.д., т.е. применить определенный стиль для всех таблиц в документе. Искать, выделять и применять стиль для каждой? Очень большой документ, более 300 таблиц. Та же проблема и с рисунками.

Отредактировано 1st (03.03.2011 17:25:57)

11 Ответ от admin 04.03.2011 17:34:39

  • admin
  • Администратор
  • Неактивен
  • Откуда: Земля
  • Зарегистрирован: 15.12.2009
  • Сообщений: 508
  • Поблагодарили: 39
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Мне нужно все таблицы в документе выровнять по ширине

12 Ответ от Defor 25.10.2011 17:16:18

  • Defor
  • рядовой
  • Неактивен
  • Зарегистрирован: 25.10.2011
  • Сообщений: 2
Re: Массовое выделение элементов докумена (таблиц, рисунков)

День добрый.
Для меня сейчас актуален подвопрос текущего топика, а именно обработка параметра spacing для таблиц.
Так сложилось, что текст получен из html и все таблицы пришли с нулевым значением интервала между ячейками. На практике это приводит к появлению двойных границ каждой ячейки в таблице. Дабы этого избежать, параметр «Интервал между ячейками» можно отключить вручную. Однако. Таблиц то море.. А в макрос я могу записать только конкретное число большее либо равное нулю..
Есть ли возможность в VBA «снять галочку» с параметра spacing для каждой страницы?
Пример кода приложу, дабы не быть голословным (кусочно из этой темы):

13 Ответ от Defor 26.10.2011 10:58:45

  • Defor
  • рядовой
  • Неактивен
  • Зарегистрирован: 25.10.2011
  • Сообщений: 2
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Попробовал на чистом документе -> Создал произвольную таблицу (по умолчанию параметр/галочка Интервалы между ячейками отключен) -> Запустил процесс создания макроса -> Сначала активировал интервалы, потом снял.
Автоматический код привожу ниже:

Как видно, единственным отличаем является параметр «Spacing». Однако при выставлении его в 0 = параметр не деактивируется, а выставляется в нулевое значение ==> сдвоенные границы, что визуально сильно «карявит» документ..

14 Ответ от Ципихович Эндрю 26.10.2011 15:54:54

  • Ципихович Эндрю
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 04.02.2010
  • Сообщений: 506
  • Поблагодарили: 23
Re: Массовое выделение элементов докумена (таблиц, рисунков)

не пойму кинули в документ 1 таблицу
сделали
ActiveDocument.Tables(1).Spacing = 10
вернули
ActiveDocument.Tables(1).Spacing = 0
Всё делается, всё возвращается, а про ту что с нета скачана ничего не знаю, там могут бытьтакие чудеса

15 Ответ от Slamzor 16.03.2013 19:14:40

  • Slamzor
  • сержант
  • Неактивен
  • Зарегистрирован: 13.12.2012
  • Сообщений: 32
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Рисунки «в тексте» (InLineShapes) выбрать можно только по одному

А как можно такие рисунки отделить и применить к ним форматирование?
Если на примере, то есть в документе такие рисунки: одни крупные к ним идет подпись из названия. Другие мелкие, размещены внутри текста. Нужно крупные рисунки разместить по центру, а мелкие не трогать.

16 Ответ от viter.alex 17.03.2013 01:13:25

  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140
  • За сообщение: 1
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Можно отобрать, например, по высоте или ширине

17 Ответ от Slamzor 17.03.2013 10:57:37

  • Slamzor
  • сержант
  • Неактивен
  • Зарегистрирован: 13.12.2012
  • Сообщений: 32
Re: Массовое выделение элементов докумена (таблиц, рисунков)

Спасибо большое!
А как можно тогда с таблицами поступить? Есть в документе два вида таблиц. Первый вид: имеет шапку сбоку, второй шапку сверху. Нужно второй вид вид таблиц изменить: 1) шапку по центру дать 2) Внутри весь текст 12 шрифт задать.

Сообщений [ 17 ]

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

  • Выделение только текста (без таблиц и рисунков)
  • Выделение и редактирование только текста (без таблиц и рисунков)
  • Выделение графических элементов в Word 2010
  • Нумерация рисунков и таблиц по ГОСТу
  • Обновление номеров страниц, рисунков, таблиц и т.д.
  • Отображение рисунков и таблиц в модальном окне
  • Автоматическая нумерация формул/таблиц/рисунков
  • Сбой перекрестных ссылок на названия рисунков и таблиц

Массовое выделение элементов докумена (таблиц, рисунков)

Если у вам часто приходится работать с различными текстами, писать и обрабатывать их, то, скорей всего, у вас установлен редактор Microsoft Word. На портале о Microsoft Office Word вы узнаете про: код активации установки ms offis 2007. Какая бы версия программы у вас ни стояла, вряд ли вы используете больше двадцати процентов того, что эта программа может. На портале о Microsoft Office Word вы узнаете про: как убрать линию из таблицы в ворде. Если желаете узнать больше о работе в редакторе, то посетите форум Ворд Эксперт. Это русскоязычный сайт с доступным интерфейсом, простой регистрацией и множеством полезнейшей информации. Наш сайт о Microsoft Office Word даст ответ про: что сделать чтоб файл в microsoft word повернулся.

Портал разработан специально для пользователей редактора Microsoft Word. Зарегистрировавшись на портале, вы узнаете много новой и нужной информации, даже если вы давно и часто работаете в приложении. Наш сайт о Microsoft Office Word даст ответ про: ворд непечатные символы. На сайте представлена разнообразная литература и ответы на часто возникающие у пользователей Microsoft Word вопросы. На портале о Microsoft Office Word вы узнаете про: отступ первой строки абзаца гост. Вы легко научитесь оптимизировать свою работу и даже писать макросы. Готовые решения часто возникающих проблем вы можете найти в специальных разделах на сайте. На портале о Microsoft Office Word вы узнаете про: сохранить изменения нет.

При трудностях в работе с редактором или создании макросов вы всегда можете обратиться за помощью к опытным пользователям. На портале о Microsoft Office Word вы узнаете про: активация ворда. Можно задать любой вопрос о настройке, форматировании и автоматизации работы Microsoft Word, найти готовое решение или оставить заявку на написание макроса. На портале о Microsoft Office Word вы узнаете про: как подчеркивать пробелы в word.

Как в ворде выделить все таблицы одновременно

Доброе время суток!
Прошу помочь. Я не программист вообще, но уверенный пользователь. Могу очень уверенно переписать чужой код как обезьяна и немножко переделать его под себя.
Написала, перелопатив гору макросов , код, чтобы форматировать все таблицы в документе:

On Error Resume Next

Dim myTable As Table
Dim myCell As Cell
Dim myRange As Range
Dim с As Integer ‘Подсчёт количества столбцов в таблице
Dim i As Long

Application.ScreenUpdating = False ‘Запрет обновления экрана
For Each myTable In ActiveDocument.Tables

‘ Выровнять все столбцы по центру
‘Обрабатываем ячейки во всех столбцах кроме первого
‘Перебор всех ячеек
c = myTable.Columns.Count
For i = 2 To c
myTable.Columns(i).Select
Selection.Find.ClearFormatting
With Selection
For Each myCell In .Cells
myCell.Range.ParagraphFormat.Alignm ent = wdAlignParagraphCenter
myCell.Range.Cells.VerticalAlignmen t = wdCellAlignVerticalCenter
Next myCell
End With
Next i

‘ Применить ко всем таблицам одинаковый стиль
myTable.Style = ActiveDocument.Styles(«Средний список 2 — Акцент 2»)
myTable.Rows.Alignment = wdAlignRowCenter
myTable.AutoFitBehavior wdAutoFitWindow
myTable.Rows.HeightRule = wdRowHeightAuto
myTable.Rows.HeightRule = wdRowHeightAtLeast
myTable.Rows.WrapAroundText = False
myTable.PreferredWidthType = wdPreferredWidthPercent
myTable.PreferredWidth = 99
myTable.Range.Font.Size = 9
myTable.Rows.AllowBreakAcrossPages = False

With myTable.Range
.Find.ClearFormatting
.Find.Text = «^p» ‘Ищем вхождения переводов строк и удаляем их
.Find.Replacement.Text = «»
.Find.Forward = True
.Find.Execute Replace:=wdReplaceAll
For Each myCell In .Cells
Set myRange = myCell.Range
myRange.MoveEnd Unit:=wdCharacter, Count:=-1
myCell.Range.Text = Trim(myRange.Text) ‘Убираем пробелы
myCell.Range.ParagraphFormat.LeftIn dent = CentimetersToPoints(0)
myCell.Range.ParagraphFormat.FirstL ineIndent = 0
Next myCell
End With

With myTable.Rows(1)
.HeadingFormat = True ‘Установка заголовков для 1-х строк таблиц
.HeightRule = wdRowHeightAuto ‘Установка автовысоты первых строк
End With
With myTable.Rows(1)
For Each myCell In .Cells
myCell.Range.ParagraphFormat.Alignm ent = wdAlignParagraphCenter
myCell.Range.Cells.VerticalAlignmen t = wdCellAlignVerticalCenter
myCell.Range.ParagraphFormat.KeepWi thNext = True
Next myCell
End With

With myTable.Range
myTable.Select
Selection.Cells.DistributeWidth
End With
If Err.Number <> 0 Then Err.Clear
Next
Application.ScreenUpdating = True ‘Разрешаем обновление экрана
End Sub

Меня всё устраивает. Но есть одна загвоздка.
Вот это кусок кода делает ширину всех столбцов одинаковой.

With myTable.Range
myTable.Select
Selection.Cells.DistributeWidth
End With

А мне надо выровнять по ширине все столбцы, кроме первого. И с этим я не могу справиться. Ещё раз повторяю — не программист я, может, кто-нибудь подскажет, как исправить эту мелочь и ошибки во всём коде исправит?
Спасибо заранее.

Понравилась статья? Поделить с друзьями:
  • Макрос выделения значения excel
  • Макрос выделения диапазона ячеек excel
  • Макрос выделения всей строки excel
  • Макрос вывода на печать excel
  • Макрос выбора значений для excel