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

Bilddatei aufrufen

Forumthread: Bilddatei aufrufen

Bilddatei aufrufen
25.01.2023 12:28:46
Heiner
Liebe Excel-Freunde,
ich zeichne bisher nur Makros auf und verändere/verbessere sie leicht.
Das Makroverständnis ist leider nur mittelmäßig.
Jetzt stoße ich an meine Grenzen:
Grundlage ist eine Artikel-"datenbank"
Die erste Spalte enthält Artikelnummern (numerisch bis 5000)
Beim anclicken dieser Nummer soll Excel eine gleichnamige Bilddatei ( z.B. 344.jpg )
für 3 Sekunden aufrufen und wieder schließen. Das Bild zeigt den Artikel.
Die Bilder sind im Unterverzeichnis "Bilder" und haben die Artikelnummer als Dateinamen + ".jpg"
Vielleicht hat jemand etwas ähnliches und ich kann es anpassen.
Für die Mühe bedanke ich mich im Voraus sehr herzlich.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilddatei aufrufen
25.01.2023 13:33:54
max.kaffl@gmx.de
Hallo Heiner,
mach es beim Doppelklick auf die Artikelnummer. Rechtsklick auf den Tabellenreiter - Code anzeigen. Folgende Prozedur einfügen:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" ( _
    ByVal dwMilliseconds As Long)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Const PICTURE_FOLDER As String = "G:\Eigene Dateien\Eigene Bilder\" 'Anpassen, Backslash am Ende nicht löschen !!!
    Dim objShape As Shape
    Dim lngIndex As Long
    If Not Intersect(Target, Columns(1)) Is Nothing Then 'Artikelnummern in Spalte 1 (A) gegebenenfalls anpassen
        If IsNumeric(Target.Text) Then
            If Dir$(PICTURE_FOLDER & Target.Text & ".jpg") > vbNullString Then
                Set objShape = Shapes.AddPicture(Filename:=PICTURE_FOLDER & Target.Text & ".jpg", _
                    LinkToFile:=msoTrue, SaveWithDocument:=msoFalse, _
                    Left:=Target.Offset(0, 1).Left, Top:=Target.Top, Width:=-1, Height:=-1)
                For lngIndex = 1 To 10
                    DoEvents
                Next
                Call Sleep(3000)
                Call objShape.Delete
                Set objShape = Nothing
                Cancel = True
            End If
        End If
    End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Bilddatei aufrufen
25.01.2023 15:27:17
Heiner
Hallo Max,
war schnell angepaßt; es funktioniert perfekt !
Ganz lieben Dank !
Zum Verständnis:
Was bewirkt: For lngIndex = 1 To 10
DoEvents
AW: Bilddatei aufrufen
25.01.2023 16:14:53
Nepumuk
Hallo Heiner,
damit das Bild Zeit hat angezeigt zu werden.
Gruß
Nepumuk
AW: Bilddatei aufrufen
25.01.2023 17:14:11
Heiner
Danke ! Bin restlos zufrieden !
Anzeige
;

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