Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Makro um mehrere Bilder aus einem Ordner einzufügen

923 views
Skip to first unread message

Marco Janker

unread,
Jun 29, 2000, 3:00:00 AM6/29/00
to
Hallo,

ich möchte in Word mehrere Bilder auf einmal einfügen. D.h. ich möchte einen
Ordner auswählen und aus diesem alle enthaltenen Bilder in ein Dokument
einfügen.
Ich habe schon versucht mit "wdDialogInsertPicture" (ich benutze W2000
englisch), aber in diesem Dialog kann man nur jeweils eine Datei auswählen.

Gibt es schon fertige Skripte, die diese Arbeit übernehmen oder muß ich "das
Rad neu erfinden" ;-)

Danke

Marco

Flueck Christian

unread,
Jun 29, 2000, 3:00:00 AM6/29/00
to
hi marco

das solltest du mit dem FileSearch-Objekt zustande bringen, so etwas in
dieser art:

Sub bilder_rein()
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = "c:\bilder\" 'hier dein bilder-pfad
.FileName = "*.bmp" 'den dateinamen gegebenfalls anpassen

If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Selection.InlineShapes.AddPicture FileName:=.FoundFiles(i)
Selection.InsertParagraphAfter
Next i
Else
MsgBox "Es wurden keine Dateien gefunden."
End If
End With
End Sub


hilft dir das?

grüsse
christian

Marco Janker

unread,
Jun 29, 2000, 3:00:00 AM6/29/00
to
Flueck Christian <Christia...@koeniz.ch> wrote in message
news:58236E5099B6D211BC1200A0C9E14A7E17CA4C@SRVXCH01...

> hi marco
>
> das solltest du mit dem FileSearch-Objekt zustande bringen, so etwas in
> dieser art:
>
> Sub bilder_rein()
> Dim i As Integer
> With Application.FileSearch
> .NewSearch
> .LookIn = "c:\bilder\" 'hier dein bilder-pfad
> .FileName = "*.bmp" 'den dateinamen gegebenfalls anpassen
>
> If .Execute() > 0 Then
> For i = 1 To .FoundFiles.Count
> Selection.InlineShapes.AddPicture FileName:=.FoundFiles(i)
> Selection.InsertParagraphAfter
> Next i
> Else
> MsgBox "Es wurden keine Dateien gefunden."
> End If
> End With
> End Sub
>
>
> hilft dir das?
>
> grüsse
> christian

Danke! Hat mir sehr weitergeholfen. Jetzt muß ich mir nur noch eine
Dialogbox basteln um verschiedene Verzeichnisse auswählen zu können.

Viele Grüße
Marco

Peter Sodermanns

unread,
Jun 29, 2000, 3:00:00 AM6/29/00
to
Hallo Marko,

Marco Janker wrote:
>
> Danke! Hat mir sehr weitergeholfen. Jetzt muß ich mir nur noch eine
> Dialogbox basteln um verschiedene Verzeichnisse auswählen zu können.
>

Dann schau mal in den Thread "How do I open a windows file browser
window via VBA" in der englischen Gruppe
"microsoft.public.word.word97vba".

Da hat's einige Anregungen und Code-Beispiele zu dem Thema.


--
Mit freundlichen Grüßen

Peter Sodermanns

Christian Flueck

unread,
Jun 29, 2000, 3:00:00 AM6/29/00
to
hi marco

folgender code wurde schon hier in der ng gepostet (danke silvia!),
funktioniert
bei mir einwandfrei:

Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Sub SelectFolder()
UsrRsp = GetDirectory("Bitte wählen Sie eine Datei aus")
MsgBox UsrRsp
End Sub

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0& 'Root folder = Desktop
bInfo.lpszTitle = Msg 'Title in the dialog
bInfo.ulFlags = &H1 ' Folders
'bInfo.ulFlags = &H4000 'Files
x = SHBrowseForFolder(bInfo) 'Display the dialog
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Else
GetDirectory = ""
End If
End Function

eine andere möglichkeit: du kannst dir eine userform basteln und in eine
listbox mittels der dir-funktion die einträge ausgeben lassen (ein
entsprechender code wurde auch einmal hier gepostet)

grüsse
christian

Marco Janker <Marco....@emv-testhaus.com> schrieb in im Newsbeitrag:
#6MYbcb4$GA.1764@cpmsftngp03...


> Flueck Christian <Christia...@koeniz.ch> wrote in message
> news:58236E5099B6D211BC1200A0C9E14A7E17CA4C@SRVXCH01...
> > hi marco
> >
> > das solltest du mit dem FileSearch-Objekt zustande bringen, so etwas in
> > dieser art:
> >
> > Sub bilder_rein()
> > Dim i As Integer
> > With Application.FileSearch
> > .NewSearch
> > .LookIn = "c:\bilder\" 'hier dein bilder-pfad
> > .FileName = "*.bmp" 'den dateinamen gegebenfalls anpassen
> >
> > If .Execute() > 0 Then
> > For i = 1 To .FoundFiles.Count
> > Selection.InlineShapes.AddPicture FileName:=.FoundFiles(i)
> > Selection.InsertParagraphAfter
> > Next i
> > Else
> > MsgBox "Es wurden keine Dateien gefunden."
> > End If
> > End With
> > End Sub
> >
> >
> > hilft dir das?
> >
> > grüsse
> > christian
>

> Danke! Hat mir sehr weitergeholfen. Jetzt muß ich mir nur noch eine
> Dialogbox basteln um verschiedene Verzeichnisse auswählen zu können.
>

> Viele Grüße
> Marco
>
>

Marco Janker

unread,
Jun 30, 2000, 3:00:00 AM6/30/00
to
Peter Sodermanns <p...@datus.com> wrote in message
news:395B3D67...@datus.com...

> Hallo Marko,
>
> Marco Janker wrote:
> >
> > Danke! Hat mir sehr weitergeholfen. Jetzt muß ich mir nur noch eine
> > Dialogbox basteln um verschiedene Verzeichnisse auswählen zu können.
> >
>
> Dann schau mal in den Thread "How do I open a windows file browser
> window via VBA" in der englischen Gruppe
> "microsoft.public.word.word97vba".
>
> Da hat's einige Anregungen und Code-Beispiele zu dem Thema.
>
>
> --
> Mit freundlichen Grüßen
>
> Peter Sodermanns

VIelen Dank an alle! Hat mir sehr geholfen. Aus euren Tipps habe mir ein
Makro gebastelt, das aus einem frei wählbaren Verzeichnis, alle Bilder eines
bestimmten Typs in ein Word-Dokument einliest.

Zugleich habe ich eine neue Frage: Siehe "Wie kann ich Grafiken in Word in
andere Formate konvertieren"
Viele Grüße

Marco

0 new messages