Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA, per Dialog nur Bilder einlesen...

Forumthread: VBA, per Dialog nur Bilder einlesen...

VBA, per Dialog nur Bilder einlesen...
KLE
Hallo,
ich nutze für die Artikelverwaltung eine Userform. Diese enthält eine Textbox und ein Image-Element.
Per Doppelklick auf das Bild, öffnet sich der Dialog: Datei suchen.
Dann kann der User eine Datei auswählen. Der Pfad der Datei wird in die Textbox gelesen und das Bild angezeigt.
... Codezeilen-Ausschnitt
' Dialog Dateipfad öffnen aufrufen
Set fd = Application.FileDialog(msoFileDialogFilePicker)
On Error Resume Next
With fd
.InitialFileName = ActiveWorkbook.Path 'Start-Pfad
.Show
.AllowMultiSelect = False
Pfad = .SelectedItems(1)
End With
' Bildpfad aufnehmen (Textbox unter Bild)
objTPPfad.Text = Pfad
' Bilddatai einlesen, bzw. anzeigen
...
Frage: Wie kann ich bei dem Dialog den zulässigen Datei-Typ auf *.jpg, *.gif, *.pdf einschränken ?
Gruß und Danke
Kay
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
FileDialog.Filters-Eigenschaft
16.08.2011 14:09:18
ransi
hallo Kay
Schau dir mal die
Filters-Eigenschaft vom FileDialog-Objekt an.
Da ist sogar ein Beispiel.
ransi
AW: FileDialog.Filters-Eigenschaft
16.08.2011 15:31:06
KLE
Jepp...hätte ich auch selbst drauf kommen müssen...Sorry und Danke.
Habe es dort natuürlich gefunden ;o)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bilder per Dialog in Excel VBA einlesen


Schritt-für-Schritt-Anleitung

Um Bilder per Dialog in Excel VBA einzulesen und dabei die zulässigen Dateitypen auf .jpg, .gif und *.pdf zu beschränken, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel. Dies kannst du tun, indem du ALT + F11 drückst.

  2. Füge eine Userform hinzu, falls du noch keine hast. Klicke im Projekt-Explorer mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Userform.

  3. Platziere ein Image-Element und eine Textbox auf der Userform.

  4. Füge den folgenden VBA-Code in das Codefenster der Userform ein:

    Private Sub Image1_DblClick()
        Dim fd As FileDialog
        Dim Pfad As String
    
        ' Dialog Dateipfad öffnen aufrufen
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        On Error Resume Next
    
        With fd
            .InitialFileName = ActiveWorkbook.Path    ' Start-Pfad
            .Filters.Clear
            .Filters.Add "Bilder", "*.jpg; *.gif; *.pdf" ' Filter für zulässige Dateitypen
            .AllowMultiSelect = False
            .Show
            Pfad = .SelectedItems(1)
        End With
    
        ' Bildpfad aufnehmen (Textbox unter Bild)
        objTPPfad.Text = Pfad
    
        ' Bilddatei einlesen, bzw. anzeigen
        If Pfad <> "" Then
            Image1.Picture = LoadPicture(Pfad)
        End If
    End Sub
  5. Teste die Userform und doppelklicke auf das Bild, um den Dialog zu öffnen. Du solltest nur die ausgewählten Dateitypen sehen.


Häufige Fehler und Lösungen

  • Fehler: Keine Dateien werden angezeigt.

    • Lösung: Überprüfe, ob die Filter korrekt gesetzt sind. Stelle sicher, dass die Dateiendungen mit einem Semikolon getrennt sind.
  • Fehler: Bild wird nicht angezeigt.

    • Lösung: Stelle sicher, dass der Pfad korrekt in die Textbox geschrieben wird und dass die Datei ein unterstütztes Format hat.
  • Fehler: Dialog öffnet sich nicht.

    • Lösung: Überprüfe, ob der Code im richtigen Ereignis platziert ist (z.B. Doppelklick auf das Bild).

Alternative Methoden

Wenn du keine Userform verwenden möchtest, kannst du auch den Code direkt in ein Modul einfügen und einen Button auf dem Arbeitsblatt verwenden. Der Code bleibt ähnlich, aber du musst die Referenzen anpassen.


Praktische Beispiele

Hier sind einige Beispiele, wie du den obigen Code anpassen kannst:

  • Anzeigen von Thumbnails: Du kannst die Größe des Bildes anpassen, bevor du es in das Image-Element lädst.

  • Speichern des Bildpfades in einer Datenbank: Wenn du mit einer Datenbank arbeitest, kannst du den Pfad auch in einer Tabelle speichern, um später darauf zuzugreifen.


Tipps für Profis

  • Verwende Error Handling: Füge Error Handling hinzu, um sicherzustellen, dass das Programm nicht abstürzt, wenn der Benutzer keine Datei auswählt.

  • Optimierung der Benutzererfahrung: Füge Tooltips oder Hilfetexte hinzu, um den Benutzern das Auswählen von Bildern zu erleichtern.


FAQ: Häufige Fragen

1. Welche Excel-Version wird benötigt? Du kannst diesen Code in Excel 2010 und höher verwenden, da die Userform und das FileDialog-Objekt in diesen Versionen verfügbar sind.

2. Kann ich andere Dateitypen hinzufügen? Ja, du kannst die Filter-Eigenschaft anpassen, um weitere Dateitypen hinzuzufügen, indem du sie einfach in die .Filters.Add-Zeile einfügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige