Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Multiselect bei GetOpenFilename
15.12.2020 21:11:18
Spitzbube
Guten Abend zusammen,
ich möchte gerne durch ein Excel Makro ein Bild an einer Word-Textmarke einfügen. Das klappt auch gut, allerdings kann ich nur eine Datei auswählen. Gerne würde ich gerne mehrere Bilder auf einmal auswählen, die hintereinander eingefügt werden. Leider bekomme ich mit dem Befehl
GetOpenFilename
.Multiselect
den Laufzeitfehler Nummer 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht". Hier der relevante Ausschnitt:
Sub InsertShape ()
'hier kommt der relevante Ausschnitt
With objApp
Do While c = False
If MsgBox("Protokolle hinzufügen?", vbYesNo) = vbYes Then
Set Bkmrk = objDocument.Bookmarks("Protokolle").Range
Bkmrk.Select
'objDocument.Bookmarks("Protokolle").Range.Select
'objApp.Selection.InlineShapes.AddPicture Filename:=Application.GetOpenFilename
Bkmrk.InlineShapes.AddPicture Filename:=Application.GetOpenFilename
.MultiSelect = True ' hier kommt der Fehler
objDocument.Bookmarks.Add "Protokolle", Bkmrk
Else
c = True
End If
Loop
'den Rest erspare ich Euch
End Sub
Hat jemand eine Idee, wie die Mehrfachauswahl funktionieren könnte?
Danke im Voraus :)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Multiselect bei GetOpenFilename
15.12.2020 21:40:57
onur
Du vermischst Application.GetOpenFilename mit InlineShapes.AddPicture.
Ausserdem: willst du echt mehrere Bilder an die gleiche Stelle setzen?
AW: Multiselect bei GetOpenFilename
15.12.2020 21:47:47
Spitzbube
Hallo Onur,
Danke für deine schnelle Antwort!
ja, nicht an die gleiche Stelle, sondern die sollen hintereinander eingefügt werden. Da es aber immer eine unbestimmte Anzahl an Bildern ist, möchte ich nur eine Textmarke ansprechen. Wie sieht eine Möglichkeit aus, wenn ich die beiden Anweisungen nicht miteinander kombiniere?
AW: Multiselect bei GetOpenFilename
15.12.2020 21:51:33
onur
z.B. so:
Private Sub CommandButton1_Click()
Dim arr, ws, datei
arr = Application.GetOpenFilename(FileFilter:="?,*.bmp;*.jpg;*.gif", MultiSelect:=True) _
Set ws = ActiveSheet
For Each datei In arr
ws.Shapes.AddPicture datei, True, True, 100, 100, 100, 100
Next
End Sub

Anzeige
AW: Multiselect bei GetOpenFilename
15.12.2020 23:54:07
Spitzbube
Hallo Onur,
danke für die Hilfe. Die Mehrfachauswahl funktioniert tatsächlich, allerdings werden die Bilder nicht an die Textmarke im Word übergeben. Hast du noch eine Idee wie ich die Brück dazu schlage?
Danke und beste Grüße :)
AW: Multiselect bei GetOpenFilename
15.12.2020 21:44:11
Daniel
Hi
Bei GetOpenFileName mit Multiselect musst du anders vorgehen.
Erst alle Dateinamen in eine Array-Variable einlesen und dann über diese Schleife laufen:
Dateien = Application.GetOpenFileName(MultiSelect:=True)
for each Datei in Dateien
objApp.Selection.InlineShapes.AddPicture Filename:=Datei
Gruß Daniel
Anzeige
AW: Multiselect bei GetOpenFilename
15.12.2020 22:41:50
Spitzbube
Hallo Daniel,
welcher Typ von Variable ist denn "Dateien"? Dim datei?
Danke und Gruß :)
AW: Multiselect bei GetOpenFilename
15.12.2020 23:05:25
Daniel
Variant
Wenn Abbruch, ein bolean mit wert False, ansonsten Array
Gruß Daniel
AW: Multiselect bei GetOpenFilename
16.12.2020 09:50:33
Spitzbube
Super, es funktioniert!
Ich habe die Schleife noch mit "Next" geschlossen und "datei" ebenfalls als Variant deklariert. So läuft es ohne Probleme.
Vielen Dank :)

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige