есть макрос, полученный автозаписью он вставляет две картинки - подпись и печать [vba]
Код
Sub ВставитьПодписьПечать() ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _ "C:\Users\kpa\Pictures\подпись.png", LinkToFile:=False, _ SaveWithDocument:=True).WrapFormat.Type = wdWrapNone ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _ "C:\Users\kpa\Pictures\печать.png", LinkToFile:=False, _ SaveWithDocument:=True).WrapFormat.Type = wdWrapNone End Sub
[/vba]
Не могу найти как прикрепить эти изображения к нужному месту В бланке две таблицы. Даже если ставить курсор в нужную ячейку, то все равно картинки вставляются в верхний левый угол. Можно сделать какую-нибудь скрытую закладку на нужном месте и прикреплять картинку относительно этой закладки на определённом расстоянии? (в режиме записи макроса никакие функции работы с картинкой (типа обтекания, изменения прикрепления и прочее) не работают и поэтому разобраться по аналогии не получается)
есть макрос, полученный автозаписью он вставляет две картинки - подпись и печать [vba]
Код
Sub ВставитьПодписьПечать() ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _ "C:\Users\kpa\Pictures\подпись.png", LinkToFile:=False, _ SaveWithDocument:=True).WrapFormat.Type = wdWrapNone ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _ "C:\Users\kpa\Pictures\печать.png", LinkToFile:=False, _ SaveWithDocument:=True).WrapFormat.Type = wdWrapNone End Sub
[/vba]
Не могу найти как прикрепить эти изображения к нужному месту В бланке две таблицы. Даже если ставить курсор в нужную ячейку, то все равно картинки вставляются в верхний левый угол. Можно сделать какую-нибудь скрытую закладку на нужном месте и прикреплять картинку относительно этой закладки на определённом расстоянии? (в режиме записи макроса никакие функции работы с картинкой (типа обтекания, изменения прикрепления и прочее) не работают и поэтому разобраться по аналогии не получается)карандаш
anvg, вставка происходит "во внутрь", т.е. ячейка расширяется до размеров картинки. Как задать .WrapFormat.Type = wdWrapNone или как называется свойство "поверх текста" - не знаю. Справка не помогла.
anvg, вставка происходит "во внутрь", т.е. ячейка расширяется до размеров картинки. Как задать .WrapFormat.Type = wdWrapNone или как называется свойство "поверх текста" - не знаю. Справка не помогла.карандаш
Вы её не читали, похоже, особенно раздел InlineShape Object Members [vba]
Код
Public Sub insPic() Dim p As InlineShape, t As Shape Set p = ThisDocument.Tables(1).Rows(2).Cells(2).Range.InlineShapes.AddPicture("d:\path\name.png", False, True) p.ScaleWidth = 20 p.ScaleHeight = 20 Set t = p.ConvertToShape t.WrapFormat.Type = wdWrapNone End Sub
[/vba]
Цитата
ячейка расширяется до размеров картинки
Кто мешает уменьшить размер картинки?
Цитата
Справка не помогла.
Вы её не читали, похоже, особенно раздел InlineShape Object Members [vba]
Код
Public Sub insPic() Dim p As InlineShape, t As Shape Set p = ThisDocument.Tables(1).Rows(2).Cells(2).Range.InlineShapes.AddPicture("d:\path\name.png", False, True) p.ScaleWidth = 20 p.ScaleHeight = 20 Set t = p.ConvertToShape t.WrapFormat.Type = wdWrapNone End Sub
Как можно изменить положение рисунка на странице относительно страницы? Например, при клике на рисунке правой кнопкой мыши выпадает выпадающее меню. Предпоследняя строка меню - "Размер и положение". Кликнув на этом элементе меню получаем окошко "Разметка" с тремя табуляторами/закладками. Первая закладка "Положение". В ней по горизонтали и вертикали выбираем "относительно [страницы]" и ставим числовое значение. В макрос эти действия не записываются. А как это можно выставить в самом макросе?
Хотелось бы уточнить
Как можно изменить положение рисунка на странице относительно страницы? Например, при клике на рисунке правой кнопкой мыши выпадает выпадающее меню. Предпоследняя строка меню - "Размер и положение". Кликнув на этом элементе меню получаем окошко "Разметка" с тремя табуляторами/закладками. Первая закладка "Положение". В ней по горизонтали и вертикали выбираем "относительно [страницы]" и ставим числовое значение. В макрос эти действия не записываются. А как это можно выставить в самом макросе?карандаш
карандаш, и вам здравствуйте Всё так же по справке Word VBA [vba]
Код
Public Sub insPic() Dim pShape As Shape Set pShape = ThisDocument.Shapes(1) pShape.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage pShape.RelativeVerticalPosition = wdRelativeVerticalPositionPage pShape.Left = 100 pShape.Top = 200 End Sub
[/vba] Успехов.
карандаш, и вам здравствуйте Всё так же по справке Word VBA [vba]
Код
Public Sub insPic() Dim pShape As Shape Set pShape = ThisDocument.Shapes(1) pShape.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage pShape.RelativeVerticalPosition = wdRelativeVerticalPositionPage pShape.Left = 100 pShape.Top = 200 End Sub
здравствуйте, да а вот "всё так же по справке" - это где? можно уточнить? а то я опять ничего не смог найти. Не там смотрю или не вижу. Помогите найти, пожалуйста.
здравствуйте, да а вот "всё так же по справке" - это где? можно уточнить? а то я опять ничего не смог найти. Не там смотрю или не вижу. Помогите найти, пожалуйста.карандаш
Добрый день! Подскажите, пожалуйста, по такому вопросу. Пытаюсь вставить картинку с печатью в определенное место в файле WORD из EXCEL. Т.к. с объектной моделью WORD не знаком, то не понимаю, как вставить картинку в конкретное место.
[vba]
Код
Sub InsertPicture() Dim wdTable As Object Dim objWrdDoc As Object Dim strFile As String Dim p As InlineShape, t As Object Dim pShape As Object
On Error Resume Next strFile = "C:\Users\BaranovVO\Desktop\Вставка печати\Документ.docx" 'прописать путь к Документу Set objWrdApp = GetObject(, "Word.Application") 'пытаемся подключится к объекту Word If objWrdApp Is Nothing Then Set objWrdApp = CreateObject("Word.Application") 'если приложение закрыто - создаем новый экземпляр Set objWrdDoc = objWrdApp.Documents.Open(strFile) 'открываем документ Word - документ с таким именем должен существовать objWrdApp.Visible = True End If Set objWrdDoc = objWrdApp.Documents.Open(strFile) On Error GoTo 0
Set WdRange = objWrdDoc.Content Set wdTable = WdRange.Tables(1)
Set p = wdTable.Rows(1).Cells(1).Range.InlineShapes.AddPicture("C:\Users\BaranovVO\Desktop\Вставка печати\печать.png", False, True) 'прописать путь к картинке 'вставил абы куда, куда получилось, хотелось бы вставить сразу куда нужно p.ScaleWidth = 20 p.ScaleHeight = 20 Set t = p.ConvertToShape t.WrapFormat.Type = wdWrapNone
t.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage t.RelativeVerticalPosition = wdRelativeVerticalPositionPage t.Left = 260 'значения, конкретно под этот случай t.Top = 370 'значения, конкретно под этот случай
End Sub
[/vba]
Попытаюсь объяснить в чем трудность, хотя возможно я изначально думаю не в том направлении и WORD так не работает. Первое, что я делаю это вставляю картинку просто куда получилось. Можно ли ее вставить сразу туда куда надо (между блоками с номером доверенности и фамилией подписанта, макрос, который есть в файле, поставит картинку туда, куда задумывается, если прописать путь к картинке и к файлу). И второе, я вставил картинку, и следующими параметрами пытаюсь ее поставить на место. [vba]
Код
t.Left = 260 t.Top = 370
[/vba] Но, отступ слева всегда будет одинаковым, а вот сверху не всегда (строк в таблице может быть как больше так и меньше). Как сделать этот параметр динамическим? Общий вопрос: как вставить картинку между блоками "Руководитель проекта" и "Петров И.И."
Добрый день! Подскажите, пожалуйста, по такому вопросу. Пытаюсь вставить картинку с печатью в определенное место в файле WORD из EXCEL. Т.к. с объектной моделью WORD не знаком, то не понимаю, как вставить картинку в конкретное место.
[vba]
Код
Sub InsertPicture() Dim wdTable As Object Dim objWrdDoc As Object Dim strFile As String Dim p As InlineShape, t As Object Dim pShape As Object
On Error Resume Next strFile = "C:\Users\BaranovVO\Desktop\Вставка печати\Документ.docx" 'прописать путь к Документу Set objWrdApp = GetObject(, "Word.Application") 'пытаемся подключится к объекту Word If objWrdApp Is Nothing Then Set objWrdApp = CreateObject("Word.Application") 'если приложение закрыто - создаем новый экземпляр Set objWrdDoc = objWrdApp.Documents.Open(strFile) 'открываем документ Word - документ с таким именем должен существовать objWrdApp.Visible = True End If Set objWrdDoc = objWrdApp.Documents.Open(strFile) On Error GoTo 0
Set WdRange = objWrdDoc.Content Set wdTable = WdRange.Tables(1)
Set p = wdTable.Rows(1).Cells(1).Range.InlineShapes.AddPicture("C:\Users\BaranovVO\Desktop\Вставка печати\печать.png", False, True) 'прописать путь к картинке 'вставил абы куда, куда получилось, хотелось бы вставить сразу куда нужно p.ScaleWidth = 20 p.ScaleHeight = 20 Set t = p.ConvertToShape t.WrapFormat.Type = wdWrapNone
t.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage t.RelativeVerticalPosition = wdRelativeVerticalPositionPage t.Left = 260 'значения, конкретно под этот случай t.Top = 370 'значения, конкретно под этот случай
End Sub
[/vba]
Попытаюсь объяснить в чем трудность, хотя возможно я изначально думаю не в том направлении и WORD так не работает. Первое, что я делаю это вставляю картинку просто куда получилось. Можно ли ее вставить сразу туда куда надо (между блоками с номером доверенности и фамилией подписанта, макрос, который есть в файле, поставит картинку туда, куда задумывается, если прописать путь к картинке и к файлу). И второе, я вставил картинку, и следующими параметрами пытаюсь ее поставить на место. [vba]
Код
t.Left = 260 t.Top = 370
[/vba] Но, отступ слева всегда будет одинаковым, а вот сверху не всегда (строк в таблице может быть как больше так и меньше). Как сделать этот параметр динамическим? Общий вопрос: как вставить картинку между блоками "Руководитель проекта" и "Петров И.И."