Bilddateien in Word einfügen mit Dateiname des Bildes in ein Textfeld

  • Word

    Bilddateien in Word einfügen mit Dateiname des Bildes in ein Textfeld

    Hallo Leute,

    ich habe folgendes Problem. Ich möchte in Word per VB Bilder einfügen, deren Dateiname drunter steht.
    Ich habe das mithilfe vom Web auch soweit hinbekommen.
    Jetzt wäre es noch Phantastisch, wenn das Bild und der Name in einem Textrahmen wären, damit das umsortieren leichter fällt. Auch wäre das automatische Zuweisen eine Formatvorlage super.
    Die Überschrift habe ich auskommentiert

    Dieses Makro fügt alle Bilder des gewählten Dateityps aus dem gewählten Ordner mit Dateiname als Bildtitel an der Markierung in die aktuelle Datei ein.
    Die Bilder werden beim Einfügen ggf. automatisch an die Spaltenbreite angepasst,
    was zum Beispiel für Spaltensatz günstig ist.
    Offenes Problem: Die Reihenfolge der Bilder ist oft nicht wunschgemäß.

    Hier das bisherige Script:

    Visual Basic-Quellcode

    1. Sub Alle_Bilder_einfügen_aus_wählbarem_Verzeichnis()
    2. Dim sBilddateiname As String
    3. Dim strPfad As String ' Pfad des Ordners mit den Bildern
    4. Dim strFullname As String
    5. Dim Endung As String
    6. ' Formateinstellungen merken:
    7. Selection.CopyFormat
    8. ' ***********
    9. MsgBox "Wählen sie im folgenden Menü ein beliebiges Bild des Ordners aus, " _
    10. & "dessen Bilder einzufügen sind, und drücken Sie dort den Button ""Einfügen""."
    11. With Application.Dialogs(wdDialogInsertPicture)
    12. .Display
    13. strFullname = .Name
    14. End With
    15. If strFullname = "" Then
    16. MsgBox "Es wurde nichts ausgewählt!"
    17. Exit Sub
    18. End If
    19. strPfad = Left(strFullname, InStrRev(strFullname, "\") - 1) & Application.PathSeparator
    20. Endung = Right(strFullname, 3)
    21. ' Endung = "*." & Endung
    22. ' ****************
    23. sBilddateiname = Dir(strPfad & "*." & Endung)
    24. ' *********
    25. ' Überschrift, zentriert und fett:
    26. ' Selection.TypeParagraph
    27. ' Selection.TypeText Text:="Der Ordner " & strPfad _
    28. ' & " enthält folgende " & Endung & "-Bilder:" & vbCrLf
    29. ' Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
    30. ' Selection.MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend
    31. Selection.Font.Bold = True
    32. Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    33. Selection.MoveDown Unit:=wdParagraph, Count:=1
    34. Selection.Font.Bold = False
    35. Selection.Font.Size = 10
    36. Selection.Font.Name = "Arial"
    37. ' ****************
    38. ' Zum Bildeinfügen Schleife über alle ausgewählten Bildart-Dateien im gewählten Ordner:
    39. Do While sBilddateiname <> ""
    40. Selection.InlineShapes.AddPicture filename:=strPfad & sBilddateiname, LinkToFile:=False, _
    41. SaveWithDocument:=True
    42. With Selection
    43. .ParagraphFormat.Alignment = wdAlignParagraphCenter ' wdAlignLeft
    44. .TypeText Text:=vbCrLf & sBilddateiname & vbCrLf & vbCrLf
    45. End With
    46. sBilddateiname = Dir()
    47. Loop
    48. ' *********
    49. ' Absatzausrichtung zurückstellen und ggf. überflüssige Absatzmarke beseitigen:
    50. If Selection = ChrW(13) Then Selection.Delete
    51. Selection.PasteFormat
    52. Selection.Collapse
    53. End Sub

    Danke schon mal im Voraus
    Soda10 :)