Статьи из блога
Статьи из блога
Как передвигать рисунок в тексте с заданной точностью
Рубрика: Вопрос-Ответ, Макросы
Метки: макросы | рисунки
Среда, 16 июля 2008 г.
Просмотров: 3737
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | рисунки
Среда, 16 июля 2008 г.
Просмотров: 3737
Подписаться на комментарии по RSS
Версия для печати
Сергей спрашивает:
Как передвигать рисунок с заданной точностью (например сдвинуть влево на 2 мм или на 2 пиксела)?
Для этих целей можно воспользоваться следующим макросом:
Sub movePic()
'Перемещение рисунка влево или вправо в милимметрах
Dim Message As String
On Error Resume Next
If Selection.Type = wdSelectionIP Then
MsgBox "Пожалуйста, выделите ваш рисунок"
Else
Do While Message = ""
Message = InputBox("Введите расстояние (в мм), на которое следует переместить рисунок." & _
vbCr & "Если нужно переместить рисунок влево, то перед цифрой поставьте знак 'минус'", _
"Перемещение рисунка", "")
If StrPtr(Message) = 0 Then Exit Sub
Loop
'проверка типа объекта и, если это картинка (InlineShape), то происходит ее
'преобразование в рисунок (Shape)
If Selection.Type = wdSelectionInlineShape Then
Selection.InlineShapes(1).ConvertToShape
End If
Selection.ShapeRange.IncrementLeft MillimetersToPoints(Message)
End If
End Sub
Если вы не знаете, как подключить к документу и применить эти макросы, изучите следующие заметки с сайта:

Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 8
А чтобы еще и вверх/вниз?
И не только в мм, но и в пикселах, как в условии задачи?
Конечно можно. Для работы с пикселями достаточно заменить в макросе оператор
на операторЧто касается перемещения вверх или вниз, то это тоже можно, но логичнее тогда создать свою форму с полями и переключателями. Я об этом думал, но подумал о нецелесообразности такого макроса в принципе. Кому он может быть нужен и для каких таких часто выполняемых действиях? Поэтому и не стал мудрить с такой формой.
Самый простой способ - выделенную картинку или текст-бокс передвигать по пикселам с нажатой кнопкой Alt в любом направлении при помощи стрелок на клавиатуре.
Наталья, вставьте рисунок из файла или картинку в документ, а потом попробуйте передвинуть их предложенными вами способами. Не получится, пока не будет сделано обтекание этих объектов.
Во-вторых, иногда требуется передвигать рисунок с определенной точностью, и не обязательно в пикселах, сантиметрах, дюймах или других единицах. Поэтому ручной способ слишком топорен.
Странно, у меня никогда не было проблем с передвиганием объектов таким образом, вопрос с обтеканием не вставал. Кстати, тыща извинений - должна использоваться кнопка Ctrl. На мой взгляд, для повседневной жизни и при работе на разных машинах этот способ очень подходит.
А разве нельзя открыть свойства картинки и задать и обтекание, и её расположение в нужных единицах?
Можно, но насколько я помню тот вопрос в личном письме, то человека интересовал макрос.
Огромная благодарность Наталье. Пока не прочитал её комментарии, постоянно мучился с перемещением картинок на маленькое расстояние.