PNG Dateien in Word hochladen mit Excel VBA

  • Excel

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Sabrina12345.

    PNG Dateien in Word hochladen mit Excel VBA

    Hallo ihr Lieben,

    ich hab mal wieder ein Frage. ich habe einen bestimmten Ordner C:\ aus dem ich gerne alle PNG Dateien auslesen würde. Es ist jeden Monat die gleiche Anzahl an Datein, mit immer dem gleichen Namen.
    Kann ich diese PNG Dateien mit einem VBA auslesen und in ein neues Word schieben?

    Vielen Dank schonmal!

    Liebe Grüße
    Sabrina
    Hey!

    Wenn ihr keine Idee habt, oder ihr wisst, dass es nicht möglich habt. Könnt ihr das vllt auch schreiben? :) Dann weiß ich wenigstens, dass es keinen Sinn macht :D
    Eventuell wäre sowas auch mit SAS möglich?

    Danke Danke Danke! ;)
    Hey, vielen Dank schonmal! Wenn ich es so mache, wie auf dem Link, den du geschickt hast. komm ich nicht weiter, da er mir sagt, er kann den Pfad nicht finden(FSO.CopyFolder Source = FromPath, Destination = ToPath).
    Das was du mit Shell geschrieben hast hab ich leider nicht verstanden, wie ich das umsetzen kann. ich hab nämlich leider (noch) nicht so viel Ahnung von Vba...

    [/vbnet] Sub Copy_Folder()

    Dim FSO As Object
    Dim FromPath As String
    Dim ToPath As String

    FromPath = "\C:\Graphiken\" 'Order mit den 20 Graphiken
    ToPath = "C:\png_auslesen.docx\"

    If Right(FromPath, 1) = "\" Then
    FromPath = Left(FromPath, Len(FromPath) - 1)
    End If

    If Right(ToPath, 1) = "\" Then
    ToPath = Left(ToPath, Len(ToPath) - 1)
    End If

    Set FSO = CreateObject("scripting.filesystemobject")

    If FSO.FolderExists(FromPath) = False Then
    MsgBox FromPath & " doesn't exist"
    Exit Sub
    End If

    FSO.CopyFolder Source = FromPath, Destination = ToPath
    MsgBox "You can find the files and subfolders from " & FromPath & " in " & ToPath

    End Sub

    [/vbnet]



    Kann mir jemand sagen, wo der Fehler liegt?

    Vielen Dank :)
    Bevor die großen Missverständnisse ausbrechen:
    Aus dem oberen Code kannst du das ein Verzeichnis kopieren.
    Du willst aber die Bilder in Word einlesen.

    Grundansatz:

    Visual Basic-Quellcode

    1. Dim FS = CreateObject("Scripting.FileSystemObject")
    2. Set Path = FS.GetFolder("c:\Daten\")
    3. For Each File In Path.Files
    4. If File.Name Like "*.png" Then Selection.InlineShapes.AddPicture FileName:=File.Path, LinkToFile:=False, SaveWithDocument:=True
    5. Next
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    hey, vielen Dank nochmal.
    Bei der Zeile: Selection.InlineShapes.AddPicture Filename = File.Path, LinkToFile = False, SaveWithDocument = True Gibt er mir noch einen Fehler.. er sagt, dass das Objekt die Methode nicht unterstützt. Wieso?

    Danke :)
    Hallo Sabrina12345,
    probier' mal dies:

    Visual Basic-Quellcode

    1. Dim fromPath$, toPath$, Dat1$
    2. fromPath = "C:\Programme\QuellOrdner"
    3. toPath = "C:\Programme\ZielOrdner"
    4. If Dir$(fromPath, vbDirectory) = "" Then
    5. MsgBox "Ordner nicht gefunden:" & vbCr & fromPath
    6. Exit Sub
    7. End If
    8. If Dir$(toPath, vbDirectory) = "" Then
    9. MsgBox "Ordner nicht gefunden:" & vbCr & toPath
    10. Exit Sub
    11. End If
    12. Dat1 = Dir$(fromPath & "\*.png")
    13. Do Until Dat1 = ""
    14. FileCopy fromPath & "\" & Dat1, toPath & "\" & Dat1
    15. DoEvents
    16. Dat1 = Dir$
    17. Loop
    Gruss,

    Neptun

    Sabrina12345 schrieb:

    Wieso?
    Wo hast du den Code stehen?
    Der Code ist für die Ausführung aus Word gedacht.

    Das Zielobjekt ist in meinem Beispiel einfach so gewählt, dass er die Bilder im momentan geöffneten Word-Dokument hintereinander ablegt.
    Wo du's dann tatsächlich brauchst, kannst du selbst entscheiden.
    Dabei ging ich davon aus:

    Sabrina12345 schrieb:

    mit einem VBA auslesen und in ein neues Word schieben


    Wenn du das von Excel aus steuern willst, musst du natürlich von dort erst mal eine Word-Instanz öffnen und ein Document darin anlegen.
    Dann kannst du sinngemäss verfahren.
    ​DeinWordDocument.Selection.InlineShapes.AddPicture FileName:=File.Path, LinkToFile:=False, SaveWithDocument:=True

    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    Hey,

    in ein aktuell geöffnetes Word ist auch oke! Allerdings, was ist dann hier mein toPath = "" ? Hab da jetzt nen Ordner hingeschrieben, indem sich dann halt das Word befindet. Aber gibt nicht toPath einen Ordner an? Wie schiebt er denn dann die Sachen in das geöffnete Word? Habs mit dem geöffneten Word gemacht, er schiebt die Fotos aber alle nur in den ordner...
    Ach, ich beziehe mich jetzt auf das Beispiel von Neptun

    Wenn ich deins, Petaod, genau so eingebe und ein word geöffnet habe, kommt immer noch If File.Name Like "*.png" Then Selection.InlineShapes.AddPicture Filename:=File.Path, LinkToFile:=False, SaveWithDocument:=True "Methode wird nicht unterstützt"


    Edit: Ich habs, war nur ein Tippfehler :) DAnke!

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Sabrina12345“ ()