Выжеление рисунка среди других и доступ к его свойствам

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Андрей
Сообщения: 2
Зарегистрирован: 15 апр 2004, 01:34

Подскажите, пожалуйста, почему приведенный ниже код в Office 97 работает отлично, а в более поздних - Office 2000, XP - нет? :?:

' Найти в активном документе
With AppWord.ActiveDocument
' число вставленных объектов
i = .Shapes.Count
' и последний объект выделить
.Shapes(i).Select
End With
With .ShapeRange
' Обрезать выделенный объект справа на 1,5 см
.PictureFormat.CropRight = 42.52
' Обрезать выделенный объект сверху на 0,2 см
.PictureFormat.CropTop = 5.67
' Скорректировать положение объекта слева
.Left = 0
' Скорректировать положение объекта сверху
.Top = 0
End With

Команда i = .Shapes.Count выдает 0 объектов и поэтому на следующей строке возникает ошибка. В документе находится, например от 1 до 3 объектов типа Mathcad, PhotoShop и пр.

Спасибо.
[/b]
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

А попробуйте ка ActiveDocument.Range.ShapeRange.Shapes.Count
Андрей
Сообщения: 2
Зарегистрирован: 15 апр 2004, 01:34

Нет, не работает.
Воспринимаемый формат: ActiveDocument.Range.ShapeRange.Count, однако VB свойство Range не находит.
Ответить