Страницы: 1
RSS
Вставка картинки из файла Excel в документ Word, Вставка картинки из файла Excel в документ Word
 
доброго времени суток

на одном из сторонних форумов нашёл код для вставки в создаваемый документ Word картинки формата PNG (код ниже)

при вставке в документ Word картинки с печатью она вставляется в определённое место с типом форматирования "В тексте"

помогите, пожалуйста, решить мою проблему;

1) как сделать после вставки картинки её "За текстом", а не "В тексте"
2) как "привязать" вставку картинки к опреднённому месту в документе (например, к какой-то закладке), т.к. документ Word (например письмо или справка) может быть как на 1 лист, так и на несколько

заранее спасибо

Код
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 = Range("E8").Value                           'путь к документу (можно "d:\...\Документ.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(Range("C11").Value, False, True) ' путь к картинке (можно "d:\...\печать.png")

'вставка в документ
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
 
моя печать  :D
Код
t.WrapFormat.Type = wdWrapNone

Вот это, скорей всего, отвечает за то "в тексте" она будет или "за текстом". Вот тут можно посмотреть какие есть варианты, вам, я так понял, подойдет wdWrapBehind.
 
Цитата
написал:
моя печать   Код ? 1t.WrapFormat.Type = wdWrapNoneВот это, скорей всего, отвечает за то "в тексте" она будет или "за текстом". Вот  тут  можно посмотреть какие есть варианты, вам, я так понял, подойдет wdWrapBehind.
Спасибо!!!
Это побороли. Исправил код и картинка вставилась "за текстом"

А как по поводу места в документе? возможно привязать картинку к "закладке" в Word?
 
Олег Кулиничев,  Вы с правилами знакомились? Каком максимально допустимый суммарный размер файлов?
 
Цитата
Олег Кулиничев написал:
А как по поводу места в документе? возможно привязать картинку к "закладке" в Word?
Объектную модель Word не знаю, нагуглил вот такое:
Код
ActiveDocument.Bookmarks("TEST").Range.InlineShapes.AddPicture FileName:="P:\test.png"

Я так понимаю, эта строчка вставит картинку В закладку "TEST". Попробуйте, может это не то.
Я в своем варианте привязывался к строчке, содержащей фразу "руководитель проекта" и вставлял в ту же строчку, но с определенным отступом вправо.
Изменено: whateverlover - 29.03.2022 00:26:20
Страницы: 1
Наверх