Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Картинка в Word / 7 сообщений из 7, страница 1 из 1
24.08.2004, 17:11
    #32663528
Gotar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
Вопрос: как програмно с помощью VBA изменить настройки вставленного в документ рисунка и переместить его в нужное место.

Проблемма: Рисунок вставляется хорошо, но вот не могу найти какие либо функции его настройки с помощью кода.
...
Рейтинг: 0 / 0
24.08.2004, 17:17
    #32663539
Bolik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
В общем случае это будет
Код: plaintext
1.
Selection.InlineShapes( 1 ).*
Там можно задать длину/ширину. Для интереса можно поигграться с

Код: plaintext
1.
Selection.InlineShapes( 1 ).PictureFormat.*
...
Рейтинг: 0 / 0
25.08.2004, 10:47
    #32664225
Готар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
Спасибо за наводку, много чего полезногонашел.

Только не могу найти функцию, которая делает картинку свободно плавающей.
(В настройках рисунка есть закладка - Положение, и там надо выбрать - перед текстом) - как докапаться до этих настроек?

Я нашел только PictureFormat и PicturePosition, но на сколько я понимаю, это совершенно другие функции...
...
Рейтинг: 0 / 0
25.08.2004, 11:09
    #32664298
Bolik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
Честно говоря, я тоже не нашел. Макрос (из первого примера) я писал мастером, не особо обращая внимание. Теперь пригляделся и заметил, что вкладки, отвечающие за позиционирование и обтекание текстом недоступны во время записи макроса. Видимо такие методы просто не поддерживаются.
...
Рейтинг: 0 / 0
25.08.2004, 11:22
    #32664341
Готар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
Я тоже писал записью макроса с самого начала, и тоже заметил, что они не доступны, хотя это очень странно. В хелпе я тоже не могу найти такой функции, или хотябы функции, позволяющей, открепить изображение от строки.

Selection.InlineShapes(1).Activate создает новый документ с открепленным изображением. Возможно можно как-то использовать этот вариант?
...
Рейтинг: 0 / 0
25.08.2004, 11:28
    #32664359
Bolik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
:) Попробовал. Не помогло. Панель настройки изображения дала возможность изменить обтекание текстом (!!!) и это при включенной записи (!!!). Я было обрадовался, но макрос оказался пуст в этом смысле... То есть похоже что нельзя...
...
Рейтинг: 0 / 0
25.08.2004, 11:39
    #32664379
Готар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Картинка в Word
Может это как-то поможет... ?
вставляем картинку в текст, выделяем и делаем
Selection.InlineShapes(1).Activate
открепленный рисунок появляется в отдельном документе, где МОЖНО ЗАПИСАТЬ МАКРОС и где АКТИВНЫ настройки рисунка.

Этот макрос по идее должен отображать конфигурацию рисунка (причем в настройках он уже указан как поверх текста)

Sub Macros_5()
ActiveDocument.Shapes("Picture 2").Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 36.85
Selection.ShapeRange.Width = 70.6
Selection.ShapeRange.PictureFormat.Brightness = 0.5
Selection.ShapeRange.PictureFormat.Contrast = 0.5
Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
Selection.ShapeRange.PictureFormat.CropLeft = 0#
Selection.ShapeRange.PictureFormat.CropRight = 0#
Selection.ShapeRange.PictureFormat.CropTop = 0#
Selection.ShapeRange.PictureFormat.CropBottom = 0#
Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionColumn
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionParagraph
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)
Selection.ShapeRange.LockAnchor = False
Selection.ShapeRange.WrapFormat.AllowOverlap = True
Selection.ShapeRange.WrapFormat.Side = wdWrapBoth
Selection.ShapeRange.WrapFormat.DistanceTop = CentimetersToPoints(0)
Selection.ShapeRange.WrapFormat.DistanceBottom = CentimetersToPoints(0)
Selection.ShapeRange.WrapFormat.DistanceLeft = CentimetersToPoints(0.32)
Selection.ShapeRange.WrapFormat.DistanceRight = CentimetersToPoints(0.32)
Selection.ShapeRange.WrapFormat.Type = 3
Selection.ShapeRange.ZOrder 5
End Sub

Вот в макросе 6 я уже изменил положение поверх текста, на по контуру, и изминения всетаки в макросе есть... Вот сижу разбираюсь..


Sub Macros_6()
ActiveDocument.Shapes("Picture 2").Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 36.85
Selection.ShapeRange.Width = 70.6
Selection.ShapeRange.PictureFormat.Brightness = 0.5
Selection.ShapeRange.PictureFormat.Contrast = 0.5
Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
Selection.ShapeRange.PictureFormat.CropLeft = 0#
Selection.ShapeRange.PictureFormat.CropRight = 0#
Selection.ShapeRange.PictureFormat.CropTop = 0#
Selection.ShapeRange.PictureFormat.CropBottom = 0#
Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionColumn
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionParagraph
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)
Selection.ShapeRange.LockAnchor = False
Selection.ShapeRange.WrapFormat.AllowOverlap = True
Selection.ShapeRange.WrapFormat.Side = wdWrapBoth
Selection.ShapeRange.WrapFormat.DistanceTop = CentimetersToPoints(0)
Selection.ShapeRange.WrapFormat.DistanceBottom = CentimetersToPoints(0)
Selection.ShapeRange.WrapFormat.DistanceLeft = CentimetersToPoints(0.32)
Selection.ShapeRange.WrapFormat.DistanceRight = CentimetersToPoints(0.32)
Selection.ShapeRange.WrapFormat.Type = wdWrapTight
End Sub

Думается мне, всетаки там должны быть инструменты управления, просто либо их нет в хелпе, либо я не там ищу...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Картинка в Word / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]