2015-06-09 2 views
1

Я пытаюсь создать генератор отчетов, используя базу данных excel. Я хотел бы вставить фотографии в закладки слов из HTML-ссылки. Мне интересно, можно ли это сделать?Вставьте фотографию в закладку Word из диапазона Excel, VBA

В настоящее время мой код настроен для проверки того, могу ли я вставлять фотографии только из HTML-ссылки. Вот как это выглядит:

Sub photobomb 

Dim imagePath As String 
imagePath ="https://dl.dropbox.com/s/uywzy5yf08apk68/130%20Boreal%20Avenuexx.jpg" 

With ActiveDocument 

    .Bookmarks("imagePath1").Range 
    .InlineShapes.AddPicture FileName:= "imagePath", _ 
    LinkToFile:=False, _ 
    SaveWithDocument:=False, _ 

End With 

End Sub 

Код продолжает сбой. Любая помощь очень ценится, спасибо.

ответ

2

Это потому, что ваш код немного некорректен. Также imagePath является переменной. Когда вы помещаете его в Quotes, он становится строкой. Поскольку у меня нет доступа к ссылке изображения, указанной в вашем сообщении, я использую другую ссылку.

Попробуйте (В MS Word)

Sub photobomb() 
    Dim imagePath As String 

    imagePath = "https://www.dropbox.com/static/images/lockbox.png" 

    ActiveDocument.Bookmarks("imagePath1").Range.InlineShapes.AddPicture FileName:=imagePath 
End Sub 

Теперь все, что вам нужно сделать, это LateBind/EarlyBind из Excel в Слово и использовать приведенный выше код.

Вот небольшой пример, который является Непрошеным. Вставьте этот код в модуль Excel и запустите его

Sub Sample() 
    Dim oWordApp As Object, oWordDoc As Object 
    Dim FlName As String 
    Dim imagePath As String 

    '~~> Change link and path accordingly 
    imagePath = "https://www.dropbox.com/static/images/lockbox.png" 
    FlName = "C:\MyFile.Docx" 

    '~~> Establish an Word application object 
    On Error Resume Next 
    Set oWordApp = GetObject(, "Word.Application") 

    If Err.Number <> 0 Then 
     Set oWordApp = CreateObject("Word.Application") 
    End If 
    Err.Clear 
    On Error GoTo 0 

    oWordApp.Visible = True 

    Set oWordDoc = oWordApp.Documents.Open(FlName) 

    oWordDoc.Bookmarks("imagePath1").Range.InlineShapes.AddPicture Filename:=imagePath 
End Sub 
+0

Это потрясающе .. Спасибо! –

Смежные вопросы