Статьи из блога

Статьи из блога

Изменение размера выделенного рисунка

Дмитрий спрашивает:

Как написать макрос, который назначал бы размер выделенного рисунка -- 40% от исходного размера?

Дмитрий, на эту тему уже была опубликована заметка на сайте: Макрос массового уменьшения размеров всех рисунков. В ней описан макрос для изменения размеров ВСЕХ рисунков.

Для изменения размера одного рисунка следует немного подкорректировать макрос с тем, чтобы изменялся лишь выделенный рисунок. Вот примерное решение:

Sub PicScale()
'Изменение размера рисунка на 40% от исходного
Dim Message As String
On Error Resume Next
If Selection.Type = wdSelectionIP Then
   MsgBox "Пожалуйста, выделите ваш рисунок"
Else
'проверка типа объекта и, если это картинка (InlineShape), то происходит ее
'преобразование в рисунок (Shape)
   If Selection.Type = wdSelectionInlineShape Then
      Selection.InlineShapes(1).ConvertToShape
   End If
   Selection.ShapeRange.IncrementLeft MillimetersToPoints(Message)
   
'Изменяем размер по высоте (по умолчанию)
  Selection.ShapeRange.Height = Selection.ShapeRange.Height * 0.4
'либо изменяем по ширине - выберите свой способ, а ненужный закомментируйте
'  Selection.ShapeRange.Width = Selection.ShapeRange.Width * 0.4
End If
End Sub

]]>twitter.com facebook Вконтакте Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 2

  1. Iwan Petrov
    29.12.2009 в 18:42 | #1

    В макросе присутствует столбец чисел от 01 до 20. Мне он мешает вставить код макроса в Редактор VB. Или я что-то не так делаю?

  2. 29.12.2009 в 21:47 | #2

    Иван, это нумерация. Чтобы скопировать код следует навести мышь на код и в правом верхнем углу появятся команды. Там есть и кнопка для копирования кода в буфер.

Оставьте комментарий!

(обязательно)

^ Наверх