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:
Danke schon mal im Voraus
Soda10
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
- Sub Alle_Bilder_einfügen_aus_wählbarem_Verzeichnis()
- Dim sBilddateiname As String
- Dim strPfad As String ' Pfad des Ordners mit den Bildern
- Dim strFullname As String
- Dim Endung As String
- ' Formateinstellungen merken:
- Selection.CopyFormat
- ' ***********
- MsgBox "Wählen sie im folgenden Menü ein beliebiges Bild des Ordners aus, " _
- & "dessen Bilder einzufügen sind, und drücken Sie dort den Button ""Einfügen""."
- With Application.Dialogs(wdDialogInsertPicture)
- .Display
- strFullname = .Name
- End With
- If strFullname = "" Then
- MsgBox "Es wurde nichts ausgewählt!"
- Exit Sub
- End If
- strPfad = Left(strFullname, InStrRev(strFullname, "\") - 1) & Application.PathSeparator
- Endung = Right(strFullname, 3)
- ' Endung = "*." & Endung
- ' ****************
- sBilddateiname = Dir(strPfad & "*." & Endung)
- ' *********
- ' Überschrift, zentriert und fett:
- ' Selection.TypeParagraph
- ' Selection.TypeText Text:="Der Ordner " & strPfad _
- ' & " enthält folgende " & Endung & "-Bilder:" & vbCrLf
- ' Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
- ' Selection.MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend
- Selection.Font.Bold = True
- Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
- Selection.MoveDown Unit:=wdParagraph, Count:=1
- Selection.Font.Bold = False
- Selection.Font.Size = 10
- Selection.Font.Name = "Arial"
- ' ****************
- ' Zum Bildeinfügen Schleife über alle ausgewählten Bildart-Dateien im gewählten Ordner:
- Do While sBilddateiname <> ""
- Selection.InlineShapes.AddPicture filename:=strPfad & sBilddateiname, LinkToFile:=False, _
- SaveWithDocument:=True
- With Selection
- .ParagraphFormat.Alignment = wdAlignParagraphCenter ' wdAlignLeft
- .TypeText Text:=vbCrLf & sBilddateiname & vbCrLf & vbCrLf
- End With
- sBilddateiname = Dir()
- Loop
- ' *********
- ' Absatzausrichtung zurückstellen und ggf. überflüssige Absatzmarke beseitigen:
- If Selection = ChrW(13) Then Selection.Delete
- Selection.PasteFormat
- Selection.Collapse
- End Sub
Danke schon mal im Voraus
Soda10