Статьи из блога
Определяем тип графического объекта и его размеры
Заметка навеяна поиском решения (см.
В итоге родился следующий макрос, результат работы которого выглядит как простое сообщение:
![](http://wordexpert.ru/uploads/getimagesize.gif)
Чтобы получить информацию о рисунке, необходимо выделить его и применить макрос:
Sub getSizesImage() 'Определение типа графического объекта и его размеров (высоты и ширины) Dim h As Single Dim w As Single Dim hSp As Single Dim str As String Dim strSize As String With Selection Select Case .Type Case Word.WdSelectionType.wdSelectionInlineShape 'получаем высоту объекта h = Round(PointsToCentimeters(.InlineShapes(1).Height), 1) 'получаем ширину объекта w = Round(PointsToCentimeters(.InlineShapes(1).Width), 1) str = "Это рисунок (InlineShape)." & vbCr & "Его высота: " & h & " см, ширина: " & w & " см" Case Word.WdSelectionType.wdSelectionShape 'получаем высоту объекта h = PointsToCentimeters(.ShapeRange(1).Height) 'получаем ширину объекта w = PointsToCentimeters(.ShapeRange(1).Width) str = "Это объект (Shape)." & vbCr & "Его высота: " & h & " см, ширина: " & w & " см" Case Else str = "Это не графический объект" End Select End With MsgBox str End Sub
Рубрика: Макросы
Метки: графика | макросы
Просмотров: 26257
Подписаться на комментарии по RSS
Версия для печати
Метки: графика | макросы
Просмотров: 26257
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 3 способа очистки списка недавно открытых документов
- Абзац с цветным фоном
- Автоматическая запись макроса
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрый ввод текста с помощью команды =rand()
- Ввод часто повторяющихся фрагментов текста
- Вставка будущей даты
- Вставка документа с книжной ориентацией в документ с альбомной ориентацией
- Вставка завтрашней даты
- Вставка изображений из указанной папки для Word 2007
- Вставка неформатированного текста
- Вставка скопированного текста в предопределенном формате
- Вставка текста с полями в нижний колонтитул
- Вставка текста с помощью кнопки
- Выделение видимой части экрана
- Двойная нумерация страниц в документе
- Задать обтекание текстом для всех рисунков в документе
- Замена жаргонных слов в тексте
- Замена знаков абзаца на пробелы в выделенном тексте
- Замена текста в скобках на пробел
Комментариев: 2
Разделение изображений, используемых в Microsoft Word, на графические объекты и рисунки, описанное на официальном сайте Microsoft, никак не совпадает с разделением на классы Shape и InlineShape. Помимо этого в интерфейсе пользователя и в справке Microsoft Word используется еще одно разделение на встроенные и перемещаемые объекты.
Например, любой объект InlineShape (им может быть рисунок, диаграмма или объект WordArt), находящийся в основном тексте документа или в колонтитуле и не содержащийся в объекте Shape, можно обратимо преобразовать в объект Shape, при этом вид его не изменится и он не обязательно при этом станет перемещаемым.
Заметив путаницу, возникающую при классификации изображений в Microsoft Word, я специально написал небольшую статью об объектах Shape и InlineShape и о работе с ними средствами VBA на странице markros.ru/graphics/.
Марк, спасибо что напомнили. Я все хотел дать ссылку на вашу статью в виде отдельной заметки. И после вашего комментария я это сделал:
http://wordexpert.ru/page/obrabotka-grafiki-v-microsoft-word-sredstvami-vba.