Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: jpg Dateien öffnen

jpg Dateien öffnen
05.01.2008 15:02:00
Gerhard
Hallo Profis
Ich möchte aus Excel heraus mit einem Button eine jpg Datei öffnen. Im Forum hab ich nachstehenden Code gefunden. Diesen hab ich in (Button, rechter Mausklick, Code anzeigen, es öffnet sich das Visual Basic Fenster) die Tabelle 1 (aktuelle Tabelle) kopiert.

Private Sub CommandButton1_Click()
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As  _
Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal  _
lpDirectory As   String, _
ByVal lpnShowCmd As Long) As Long
'dann die Datei öffnen
ShellExecute 0, "open", ("C:\Dokumente und Einstellungen\Gerá\Eigene Dateien\Eigene  _
Bilder\Lydia  und Baby"), "", "", 3
End Sub


Im Forum hat dieser Code offensichtlich bei allen funktioniert. Bei mir erscheint die Meldung:
Fehler beim Kompilieren: Nach End Sub

, End Function

oder End Property können nur Kommentare stehen
Im Visual Basic Fenster ist der Text:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal lpnShowCmd As Long) As Long
blau hinterlegt.
Könnt Ihr mir das als VBA Anfänger erklären?

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: jpg Dateien öffnen
05.01.2008 15:13:43
Daniel
Hi
wenn du den Code aus dem Browserfernster heraus kopiert hast, könnte es sein, daß die VBA-Zeilenumbrüche nicht richtig funktioniern (VBA-Zeilenumbruch ist : Leerzeichen-Unterstrich-NeueZeile)
Diese kann man selbst in den Code einfügen (für eine bessere Übersicht), aber sie werden auch von der Herber-Forumssoftware eingefügt, wenn der Code zu lang ist. Diese Zeilenumbrüche funktionieren aber nicht im Code.
nimm mal alle VBA-Zeilenumbrüche aus dem Code heraus und probiers dann noch einmal.
und schau noch mal nach, ob nach END SUB nicht tatsächlich noch was steht.
das müsste dann auch gelöscht werden.
Gruß, Daniel

Anzeige
Hi Daniel
05.01.2008 15:26:43
Gerhard
Danke für die schnelle Antwort!
Hab jetzt eine Zeile für:

Private Sub CommandButton1_Click()
Private Declare Function ShellExecute Lib "shell32.dll"...............
ShellExecute 0, "open", ("C:\Dokumente und Einstell.............
End Sub


Leider bekomm ich immer noch die Fehlermeldung :-(

Anzeige
Dann weiß ich leider auch keinen Rat
05.01.2008 15:31:55
Daniel
und jemand anders muss sich darum kümmern.
von wem ist der Code denn?
Gruß, Daniel

AW: Dann weiß ich leider auch keinen Rat
05.01.2008 15:37:52
Gerhard
Der Forumsbeitrag ist von Harry

probiers mal so ;o)
05.01.2008 15:48:04
Matthias
Hallo
Der Code muss in ein Modul!
probier mal! (getestet, und bei mir funktioniert es!)

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As  _
Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal lpnShowCmd As Long) As Long
Sub Bild()
ShellExecute 0, "open", ("C:\Windows\Fächer.bmp"), "", "", 3
End Sub


Nimm kein Commandbutton, sondern eine Befehlsschaltfläche.
Beispiel mit Windowsbild evtl. anpassen!
https://www.herber.de/bbs/user/48817.xls
Userbild

Anzeige
@ Matthias
05.01.2008 16:23:28
Gerhard
Sorry dass es so lange gedauert hat.
Also Ich hab jetzt den Code erst rüberkopiert, hat nicht geklappt.
Hab dann die Zeilenumbrüche entfernt, hat auch nicht.....
Dann hab ich Wort für Wort abgeschrieben, war auch nichts.
Es kommt immer der Fehler mit dem Kompilieren.
Wenn ich es in ein Modul kopiere und es in den Tabellen lösche, kommt keine Fehlermeldung mehr. Aber ich hab das Gefühl dass sich die Befehlsschaltfläche, die ich neu erstellt hab, (mit der Aufschrift CommandButton2) nicht angesprochen fühlt.?

Anzeige
ich hatte doch eine Mappe mitgeschickt ..
05.01.2008 16:36:00
Matthias
Hallo,
Hast Du es auch in einem Modul ?
Nicht Commandbutton aus Steuerelement-Toolbox, sondern Button aus Formular-Symbolleiste.
Dann Rechtsklick auf den Button und Makro zuweisen.
Userbild
Userbild

Anzeige
AW: ich hatte doch eine Mappe mitgeschickt ..
05.01.2008 16:45:35
Gerhard
Hab ich glatt übersehen
Ich glaub ich sollte mal frische Luft holen.
Ich probiers gleich mal.

@ Matthias, es hat geklappt!!!
05.01.2008 17:09:51
Gerhard
Jetzt hats geklappt!
Juhu!!!
Danke Danke Danke!
Jetzt kann ich ruhig schlafen;-))
;
Anzeige

Infobox / Tutorial

jpg Dateien in Excel öffnen


Schritt-für-Schritt-Anleitung

Um eine jpg Datei aus Excel zu öffnen, kannst du den folgenden VBA-Code verwenden. Stelle sicher, dass du diesen Code in ein Modul einfügst und nicht in die Tabelle oder einen CommandButton. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal lpnShowCmd As Long) As Long
    
    Sub Bild()
       ShellExecute 0, "open", "C:\Dein\Pfad\zu\deiner\Datei.jpg", "", "", 3
    End Sub
  4. Ändere den Pfad "C:\Dein\Pfad\zu\deiner\Datei.jpg" entsprechend zu dem Speicherort deiner jpg Datei.

  5. Speichere die Datei und schließe den VBA-Editor.

  6. Füge einen Button aus der Formular-Symbolleiste hinzu, indem du auf Entwicklertools > Einfügen > Button (Formularsteuerung) klickst.

  7. Weise dem Button das Makro Bild zu.

Mit diesen Schritten solltest du jpg Dateien öffnen können.


Häufige Fehler und Lösungen

  • Fehler: "Fehler beim Kompilieren: Nach End Sub können nur Kommentare stehen"

    • Ursache: Möglicherweise hast du den VBA-Code nicht korrekt kopiert. Achte darauf, dass keine überflüssigen Zeilenumbrüche oder zusätzliche Zeichen vorhanden sind. Kopiere den Code manuell, wenn nötig.
  • Fehler: "Das Makro wird nicht gefunden"

    • Ursache: Stelle sicher, dass der Button korrekt mit dem Makro Bild verbunden ist. Rechtsklicke auf den Button und wähle "Makro zuweisen".
  • Fehler: "Die jpg Datei wird nicht geöffnet"

    • Ursache: Überprüfe den Pfad zur jpg Datei. Stelle sicher, dass die Datei existiert und der Pfad korrekt eingegeben wurde.

Alternative Methoden

Wenn du Schwierigkeiten mit dem VBA-Code hast, gibt es auch andere Methoden, um jpg Dateien in Excel zu öffnen:

  1. Direktes Einfügen: Du kannst jpg Bilder auch direkt in Excel einfügen, indem du auf Einfügen > Bilder klickst und die gewünschte Datei auswählst.
  2. Hyperlink: Erstelle einen Hyperlink zu deiner jpg Datei. Klicke dazu auf eine Zelle, gehe zu Einfügen > Link und wähle die jpg Datei aus.

Praktische Beispiele

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

  • Um ein Bild auf dem Desktop zu öffnen:

    ShellExecute 0, "open", "C:\Users\DeinBenutzername\Desktop\Bild.jpg", "", "", 3
  • Um eine jpg Datei in einem Unterordner zu öffnen:

    ShellExecute 0, "open", "C:\Dein\Ordner\Unterordner\Bild.jpg", "", "", 3

Diese Beispiele zeigen, wie flexibel der Code ist und wie du ihn an deine Bedürfnisse anpassen kannst.


Tipps für Profis

  • Verwendung von Variablen: Du kannst den Pfad zur jpg Datei in einer Variablen speichern, um den Code leserlicher zu gestalten:

    Sub Bild()
       Dim BildPfad As String
       BildPfad = "C:\Dein\Pfad\zu\deiner\Datei.jpg"
       ShellExecute 0, "open", BildPfad, "", "", 3
    End Sub
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um hilfreiche Fehlermeldungen anzuzeigen, wenn etwas schiefgeht.


FAQ: Häufige Fragen

1. Was ist eine jpg Datei?
Eine jpg Datei ist ein gebräuchliches Bildformat, das häufig für Fotos und Grafiken verwendet wird.

2. Wie kann ich mehrere jpg Dateien öffnen?
Du kannst den Code so anpassen, dass er mehrere ShellExecute-Befehle nacheinander ausführt, um mehrere Bilder zu öffnen.

3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten Excel-Versionen ab Excel 2003 funktionieren. Achte darauf, dass die Entwickleroptionen aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige