1

Тема: Проверка наличия рисунков в разделе

Здравствуйте, подскажите пожалуйста: нужно проверить наличие рисунков во втором разделе документа. Смог написать условие для проверки во всем документе через Shapes :

If ActiveDocument.Shapes.Count >= 2 Then MsgBox "Подписи уже вставлены": Exit Sub

но никак не могу прописать номер раздела, типа:

ActiveDocument.Sections(2).

т.к. в Sections уже нет Shapes. Как быть?

2

Re: Проверка наличия рисунков в разделе

akoks пишет:

Как быть?

Попробуйте использовать диапазон фигур ShapeRange, который есть в диапазоне секции, напр.:

Sub ListShapesInSection()
Dim ad As Document
Dim shp As Shape
Dim shprg As ShapeRange
Dim ishp As Long
Dim nshp As Long
Set ad = ActiveDocument
Set shprg = ad.Sections(1).Range.ShapeRange
nshp = shprg.Count 'число фигур в ShapeRange
If nshp > 0 Then
    For Each shp In shprg
        shp.Select 'выделить фигуру(необязательно для обработки фигуры)
        'обработать фигуру shp
        ' ...
    Next
End If
End Sub

3

Re: Проверка наличия рисунков в разделе

yshindin пишет:

Попробуйте использовать диапазон фигур ShapeRange, который есть в диапазоне секции

Благодарю, работает как и предполагалось

4

Re: Проверка наличия рисунков в разделе

На заметку.

Кроме Shapes, есть еще InLineShapes. Это отдельная группа. Там тоже могут быть рисунки.

Вообще, не факт, что это будет именно рисунок, в смысле точечный. В эти группы попадают все объекты: надписи, фигуры, диаграммы и пр. Для отсева точечных, нужна доп. проверка.

Макросы под заказ и готовый пакет - mtdmacro.ru