Avatar billede somaliomar Praktikant
17. marts 2004 - 14:28 Der er 2 kommentarer og
2 løsninger

Indsæt et billede fra nettet i Word vha. VBA

Hej

Jeg vil gerne indsætte et billede fra Internettet (f.eks. http://www.eksperten.dk/img/elogo.png) i Word 2000. Jeg har prøvet med koden:

Selection.InlineShapes.AddPicture "http://www.eksperten.dk/img/elogo.png", False, True

Det virker bare ikke! Hvordan kan jeg løse problemet?
Avatar billede rvm Nybegynder
17. marts 2004 - 16:47 #1
Koden skal se således ud:

    Selection.InlineShapes.AddPicture FileName:= _
        "http://www.eksperten.dk/img/elogo.png", LinkToFile:=False, _
        SaveWithDocument:=True
Avatar billede rvm Nybegynder
17. marts 2004 - 16:50 #2
Har lige tjekket DIN kode. Den kører fint hos mig, så du må have lavet en anden fejl et andet sted i koden.
Avatar billede somaliomar Praktikant
18. marts 2004 - 07:02 #3
Det eneste kode jeg har er ovenstående kode. Det virker altså ikke. Kører jeg koden får jeg en dialog-box med meddelelsen:

Run-time error '5152'

This is not a valid file name.
Try one or more of the following:
* Check the to path to make sure it was typed correctly.
* Select a file from

Dialog-boxen har tre knapper: Continue, End, Debug og Help.

Klikker jeg på Debug bliver den eneste kode-linje markeret. Det mærkelige er, at når jeg prøver at indsætte billedet (http://www.eksperten.dk/img/elogo.png) i Word ved at vælge Insert -> Picture -> From File så kan den godt finde ud af det.

Jeg har Internet-adgang gennem transparent proxy. Jeg ved ikke om det har noget at sige?
Avatar billede somaliomar Praktikant
19. marts 2004 - 13:31 #4
Jeg har fundet en løsning:

Public Sub DownloadFile(strUrl As String, strLocalFile As String)
    Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0
    Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0
    Const HTTPREQUEST_PROXYSETTING_DIRECT = 1
    Const HTTPREQUEST_PROXYSETTING_PROXY = 2
   
    Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
    Const HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1

    Dim objRequest As Object
    Dim bytData() As Byte
    Dim intFreeFile As Integer
   
    Set objRequest = CreateObject("WinHttp.WinHttpRequest.5")
   
    objRequest.Open "GET", strUrl, False
    objRequest.Send
   
    intFreeFile = FreeFile
    bytData() = objRequest.ResponseBody
   
    Open strLocalFile For Binary Access Write As #intFreeFile
        Put #intFreeFile, , bytData()
    Close #intFreeFile
   
    Set objRequest = Nothing
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester