Grafiken aus Ordner einfügen, Word2003

07/07/2008 - 20:19 von Hein | Report spam
Hallo,

ich muss hàufiger in ein Word Dokument aus einem bestimmten Ordner
Grafiken einfügen, dass sind teilweise bis zu 150 Bilder.

Ein Makro aufzeichnen hilft mir nicht weiter, da ich ja eine Schleife
brauche die ein Bild nach dem anderen aus dem Ordner in das Dokument
einfügt.Die Bilder haben eine Nummer - nicht zwingend fortlaufend als
Dateiname und sind JPGs.

Wer kann mir Hinweise geben, wie ich um folgendes Fragment eine
Schleife baue, die die Bilder (JPG) einliest:

ActiveDocument.Shapes.AddPicture Anchor:=Selection.Range, FileName:= _
txtOrdner & "\" & txtBild, _
LinkToFile:=False, SaveWithDocument:=True

Muss das ein For Each Schleife aussenherum?

For each Datei in Ordner
ActiveDocument.Shapes txtOrdner & "\" & .. und jetzt?..
next Datei

Dann sollen die Bilder in eine Tabelle, jeweils eines pro Zeile in
festgelegter Spalte. Erst alle Bilder zàhlen, Tabelle dementsprechend
anlegen und abklappern oder solange eine Zeile hinzufügen wie Bilder
vorhanden?


Wer weiß wo ich Hinweise im Internet finden kann oder wer kann mir
weiterhelfen?

vielen Dank und viele Grüße

Hein
 

Lesen sie die antworten

#1 Hein
07/07/2008 - 21:36 | Warnen spam
Hallo,

ich habe jetzt mal weiter gesucht, gefunden, adapiert und
experimentiert ... vermutlich nicht schön ...

Sub Bild_einfuegen()

'Ordner mit den Bildern festlegen
txtOrdner = "D:\Inetpub\wwwroot\dswebneu\image"
'DummyBild
txtBild = "D_460_kl.jpg"

'Anzahl JPGDateien im Ordner feststellen
With Application.FileSearch
.LookIn = txtOrdner
.FileName = "*.jpg"
.SearchSubFolders = False

'wenn *.jpgs vorhanden sind ...
If .Execute() > 0 Then
MessageText = "In diesem Ordner sind " & .FoundFiles.Count
& " Grafiken (JPG)!."
MsgBox MessageText
intAnzBilder = .FoundFiles.Count
Else
MsgBox "Keine Grafiken gefunden!.", vbCritical
End If

End With
'Bildschrimaktualisierung aus
Application.ScreenUpdating = False

'Tabelle einfügen
ActiveDocument.Tables.Add Range:=Selection.Range,
NumRows:=intAnzBilder, NumColumns:=5
'In Spalte 5 wechseln
Selection.MoveRight Unit:=wdCharacter, Count:=4
'Bilder einfügen
For i = 1 To intAnzBilder

ActiveDocument.Shapes.AddPicture Anchor:=Selection.Range,
FileName:=txtOrdner & "\" & txtBild, _
LinkToFile:=False, SaveWithDocument:=True
'Selection.ShapeRange.WrapFormat.Type = wdWrapInline

'nàchste Zeile
Selection.MoveDown Unit:=wdLine, Count:=1

Next i

Application.ScreenUpdating = True

End Sub

2 Fragen dazu:

1) Wie kann anstatt eines bestimmten Bildes, alle Bilder aus dem
Ordner nacheinander einfügen?

2) Das Bild ist jetzt mit der Layouteigenschaft "Hinter dem Text" in
der Tabelle. Dadurch passt sich die Tabellenzeilenhöhe nicht an und
die Bilder liegen in den Zeilen gekachelt übereinander. Wie kann ich
die Layouteigenschaft des Bildes "Mit Text in Zeile" einstellen?
Per Hand einfügen geht es, leider ist das nicht als Makro
aufzuzeichnen...

viele Grüße und vielen Dank

Hein

Ähnliche fragen