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

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

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

Как написать макрос, который назначал бы размер выделенного рисунка -- 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.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

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

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

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

  2. 29.12.2009 в 21:47 | #2

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

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

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

^ Наверх