1

Тема: Сброс масштаба всех рисунков

Здравствуйте. Побродив по вашему сайту я нашел скрипт по изменению размера всех рисунков. Но не можете ли вы подсказать мне команду VBA, которая возвращает рисунку его истинный размер, то есть устанавливает масштаб = 100%




Sub changeImages2()
Dim pic As Object
On Error Resume Next
For Each pic In ActiveDocument.Content.InlineShapes
 If pic.Type = wdInlineShapePicture Then
    pic.Height = pic.Height / 2
       pic.Width = pic.Width / 2
  End If
Next
For Each pic In ActiveDocument.Content.ShapeRange
  If pic.Type = msoPicture Then
    
    pic.Height = pic.Height / 2
     
    If pic.LockAspectRatio = msoFalse Then
     
        pic.Width = pic.Width / 2
      
    End If
  End If
Next
End sub



Я так понял что надо менять в этом скрипте  вместо pic.Height = pic.Height / 2,   pic.Width = pic.Width / 2
ставить что то другое. Но что именно сообразить не могу. Так как если поставим = 100 %, то разумеется ничего не изменится. Нужен еще оператор какой-то.
Какой оператор возвращает истинный размер?

Отредактировано Darlock (24.12.2010 22:08:31)

2

Re: Сброс масштаба всех рисунков

Для объекта Shape:

Shape.ScaleHeight Factor:=1, RelativeToOriginalSize:=msoTrue
Shape.ScaleWidth Factor:=1, RelativeToOriginalSize:=msoTrue

Для объекта InlineShape:

InlineShape.Reset 
' или 
InlineShape.ScaleHeight = 100
InlineShape.ScaleWidth = 100
Макросы под заказ и готовый пакет - mtdmacro.ru