Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1652to1656
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
Inhaltsverzeichnis

Hyperlink (Bildreihe)in Multipage öffnen

Hyperlink (Bildreihe)in Multipage öffnen
01.11.2018 17:58:45
Richard
Liebe Excelgemeinde,
habe folgendes Problem:In einer Listbox werden Hyperlinks angezeigt und dieser wird mit einem Button geöffnet - Anzeige als Ordnerstruktur. Dies funktioniert einwandfrei hier der Code
Private Sub cmdJPGREIHE_Click()
'Link in JPGREIHE-Spalte öffnen
Dim Zeile As Long
Dim Zelle As Range
Dim JPGREIHEFile As String
With Me.ListBox1
If .ListIndex  -2 Then
Zeile = .List(.ListIndex, .ColumnCount - 1)
Set Zelle = wksData.Cells(Zeile, 10) 'Zelle mit JPGREIHE-Hyperlink
JPGREIHEFile = Zelle.Hyperlinks(1).Address
ActiveWorkbook.FollowHyperlink JPGREIHEFile 'öffnen in Ordnerstruktur
End If
End With
End Sub

Mein Wunsch wäre die Bilder gleich in einer Multipageanzeige zu öffnen habe auch ein Beispiel gefunden hier der Code
Option Explicit
'Pfad
Const strPfad = "C:\Pfad anpassen\Test\Bilder\"
Private Sub UserForm_Initialize()
Dim strDatei As String
Dim i As Integer
Dim i_Anz As Integer
i_Anz = Me.mlt_Bilder.Pages.Count
i = 0
strDatei = Dir(strPfad & "*.jpg")
While strDatei  ""
If i_Anz - 1 
ich schaffe es leider nicht die beiden zusammenzuführen mit dem Ziel bei Betätigung des Button dass die Multipageanzeige sofort kommt.
Es wäre sehr nett wenn mich jemand unterstützen könnte.
Vielen Dank im voraus
Richard

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
01.11.2018 21:56:00
Mullit
Hallo,
probiers mal so, hab's aber nicht getestet....
Option Explicit

Private Sub cmdJPGREIHE_Click()
    'Link in JPGREIHE-Spalte öffnen 
    Dim astrArray() As String
    Dim wksData As Worksheet
    Dim lngIndex As Long
    Dim Zeile As Long
    Dim Zelle As Range
    Dim JPGREIHEFile As String
    Set wksData = ActiveSheet '// auf Verdacht nachdekl. .... 
    With Me.ListBox1
        If .ListIndex <> -2 Then
            Zeile = .List(.ListIndex, .ColumnCount - 1)

            Set Zelle = wksData.Cells(Zeile, 10) 'Zelle mit JPGREIHE-Hyperlink 
        
            JPGREIHEFile = Zelle.Hyperlinks(1).Address
            astrArray = Split(Expression:=JPGREIHEFile, Delimiter:="\")
            With Me.mlt_Bilder.Pages
                For lngIndex = 0 To .Count - 1
                    With Me.mlt_Bilder.Pages(lngIndex)
                        If .Picture Is Nothing Then
                           .Caption = astrArray(Ubound(astrArray))
                           Set .Picture = LoadPicture(Filename:=JPGREIHEFile)
                           Exit Sub
                        End If
                    End With
                Next
                Set .Add(bstrCaption:=astrArray(Ubound(astrArray))).Picture = _
                   LoadPicture(Filename:=JPGREIHEFile)
            End With
        End If
    End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
02.11.2018 09:26:48
Richard
Hallo Mullit,
zuerst vielen Dank für deine Bemühungen.
In dieser Form funktioniert es leider nicht da cmdJPGReihe in der UserForm1 ist. Bei Betätigung muss die UF2 geöffnet werden mit der Multipage.
Darum gibt er den Fehler "Datenobjekt nicht gefunden" bei With Me.mlt Bilder.Pages......
Könntest Du mir bitte noch einmal unter die Arme greifen? soll ich eine Musterdatei hochladen wenn ich es zu umständlich erklärt habe?
Grüße Richard
AW: Hyperlink (Bildreihe)in Multipage öffnen
02.11.2018 19:57:38
Mullit
Hallo,
i.Pr. muß Du nur Deine 2.Form referenzieren und öffnen, aber wieder ohne Test...
Option Explicit

Private Sub cmdJPGREIHE_Click()
    'Link in JPGREIHE-Spalte öffnen 
    Dim astrArray() As String
    Dim wksData As Worksheet
    Dim lngIndex As Long
    Dim Zeile As Long
    Dim Zelle As Range
    Dim JPGREIHEFile As String
    Set wksData = ActiveSheet '// auf Verdacht nachdekl. .... 
    With Me.ListBox1
        If .ListIndex <> -2 Then
            Zeile = .List(.ListIndex, .ColumnCount - 1)

            Set Zelle = wksData.Cells(Zeile, 10) 'Zelle mit JPGREIHE-Hyperlink 
        
            JPGREIHEFile = Zelle.Hyperlinks(1).Address
            astrArray = Split(Expression:=JPGREIHEFile, Delimiter:="\")
            With UserForm2.mlt_Bilder
                For lngIndex = 0 To .Pages.Count - 1
                    With .Pages(lngIndex)
                        If .Picture Is Nothing Then
                           .Caption = astrArray(Ubound(astrArray))
                           Set .Picture = LoadPicture(Filename:=JPGREIHEFile)
                           If Not UserForm2.Visible Then Call UserForm2.Show(vbModeless)
                           Exit Sub
                        End If
                    End With
                Next
                Set .Pages.Add(bstrCaption:=astrArray(Ubound(astrArray))).Picture = _
                   LoadPicture(Filename:=JPGREIHEFile)
            End With
            If Not UserForm2.Visible Then Call UserForm2.Show(vbModeless)
        End If
    End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
03.11.2018 10:24:13
Richard
Guten Morgen Mullit,
habe Deinen Code angepasst aber er meltet mir Laufzeitfehler 53 Datei nicht gefunden bei
Set .Picture = LoadPicture(Filename:=JPGREIHEFile)
AW: Hyperlink (Bildreihe)in Multipage öffnen
03.11.2018 22:14:36
Mullit
Hallo Richard,
hm, das bedeutet erstmal genau das, was die Fehlermeld. besagt: Die Datei ist bei Dir nicht vorhanden...
Gruß, Mullit
AW: Hyperlink (Bildreihe)in Multipage öffnen
04.11.2018 10:45:44
Richard
https://www.herber.de/bbs/user/125106.xlsm
Hallo Mullit,
ich bin einfach zu unerfahren um auf den Fehler zu kommen, habe darum eine Musterdatei hochgeladen.
Die Datei wird doch beschrieben unter Set Zeile... und unter der Adresse des JPGREIHEFile's.
zu finden in UF_Auswertung cmd JPGREIHE.
2.Frage: Du hast den Hyperlink aufgesplittet kann man dies nicht als String mit Follow Hyperlink auch übergeben?
Vielen Dank für Deine Bemühungen
Gruß Richard
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
04.11.2018 22:54:01
Mullit
Hallo Richard,
so habs noch mal getestet, funktioniert bei mir, Du mußt Deine Excel-Datei auch abspeichern, damit der Pfad aus dem Address-String richtig benannt wird, oder den Pfad noch manuell anpassen und die Forms vbvModeless also ungebunden anzeigen...
Da hilft jetzt auch nur die Bsp.-mappe bedingt, da Du die Pfad-Problematik ja leider naturgegeben vor Ort selbst lösen mußt, das läßt sich über die Mappe ja nicht mehr nachstellen...
Userbild
Gruß, Mullit
AW: Hyperlink (Bildreihe)in Multipage öffnen
04.11.2018 22:58:37
Mullit
Hallo nochmal,
...ach so ja noch zur 2. Frage, das Aufsplitten war nur zur Namensanzeige in der Tabreiter-Caption gedacht, dadurch erscheint nur der Datei-Name des ges. Address-Strings...
Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 09:40:21
Richard
Hallo Mullit,
ich steh total auf der Leitung verzeih mir.Die Datei ist gespeichert
Die Bildreihe wird doch richtig abgelegt, auf Tab1 wird mir in der Mausanzeige auch der richtige String angezeigt und ich kann hier auch die Bildreihe öffnen.Im Code unter Set Zelle...wird auch hier die richtige Zelle angezeigt.
was soll ich noch anpassen und speichern? Verzweiflung macht sich breit
Groß Richard
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 15:22:35
Mullit
Hallo Richard,
Verzweiflung macht sich breit

...willkommen im Club, an den Punkt kommt jeder beim Proggen irgendwann...;-)...Wie gesagt, die Pfadproblematik wird jetzt als Ferndiagnose schwierig...
Set Zelle... ist nicht so entscheidend, sondern:
JPGREIHEFile = Zelle.Hyperlinks(1).Address
Msgbox JPGREIHEFile
Debug.Print JPGREIHEFile

Schreib mal, was für ein Address-String da drin steht...
Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 20:05:52
Richard
Hallo Mullit,
in der Msgbox wird mir Bilder angezeigt - im Hyperlink die Adresse C:\...\...\Test\Bilder
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 20:27:53
Richard
Nachtrag:
Private wksData As Worksheet steht schon ganz oben am Anfang in der UF Auswertung hat das was zu sagen?
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 20:41:03
Mullit
Hallo Richard,
hm nur 'Bilder' ist irgendwie n bißchen wenig, da muß ein ganzer Pfad im Address-String zur Bilddatei angezeigt werden, bspw.:
C:\...\...\Test\Bilder\MeinBild.jpg

...zum 2.) Nein, eigentlich nicht, ist mit Private dann global deklariert....
Gruß, Mullit
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 20:50:53
Mullit
Und gleich noch einen hinterher,
jaaa, jetzt blick ich erst, daß Du mit Bilderreihe immer einen ganzen Ordner per HL öffnest und kein einzelnes Bild, dann kann die LoadPicture_Methode natürlich auch kein einzelnes Bild laden und mit ganzen Ordnern funktioniert die Methode nicht, d.h. Du mußt Deinen Ordner nochmal per Schleife durchlaufen und die einzelnen Bilddateiein bspw. über das FileSystemObject-Object in die LoadPicture-Methode einlesen...
Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 21:48:18
Richard
Hallo Mullit,
ja es ist eine Bildreihe für jedes Gerät das angezeigt wird.Ich werde versuchen mit meinen bescheidenen Kenntnissen es hinzubekommen hoffentlich.
Vielen vielen Dank für Deine Unterstützung war echt nett.
gruß Richard
AW: Hyperlink (Bildreihe)in Multipage öffnen
05.11.2018 23:36:13
Mullit
Hallo Richard,
ok, nochmal ein Ansatz...;-)
Private Sub cmdJPGREIHE_Click()
    'Link in JPGREIHE-Spalte öffnen 
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim wksData As Worksheet
    Dim lngIndex As Long
    Dim Zeile As Long
    Dim Zelle As Range
    Dim JPGREIHEFile As String
    Set wksData = ActiveSheet '// auf Verdacht nachdekl. .... 
    
    
    With Me.ListBox1
        If .ListIndex <> -2 Then
            Zeile = .List(.ListIndex, .ColumnCount - 1)

            Set Zelle = wksData.Cells(Zeile, 10) 'Zelle mit JPGREIHE-Hyperlink 
        
            JPGREIHEFile = Zelle.Hyperlinks(1).Address
            Set objFSO = CreateObject(Class:="Scripting.FileSystemObject")
            Set objFolder = objFSO.GetFolder(JPGREIHEFile)
            For Each objFile In objFolder.Files
                If objFile.Type = "JPEG-Bild" Then
                    With UF_Bildreihe.mlt_Bilder
                        For lngIndex = 0 To .Pages.Count - 1
                            With .Pages(lngIndex)
                                If .Picture Is Nothing Then
                                   .Caption = objFile.Name
                                   Set .Picture = LoadPicture(Filename:=objFile.Path)
                                   Exit For
                                End If
                            End With
                        Next
                        If lngIndex = .Pages.Count Then _
                          Set .Pages.Add(bstrCaption:=objFile.Name).Picture = _
                             LoadPicture(Filename:=objFile.Path)
                    End With
                End If
            Next
            Set objFSO = Nothing
            Set objFolder = Nothing
            If Not UF_Bildreihe.Visible Then Call UF_Bildreihe.Show(vbModeless)
        End If
    End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
06.11.2018 17:40:13
Richard
Hallo Mullit,
es ist zum Mäusemelken (verzeih)aber er findet immer noch nicht den Pfad unter
Set objFolder = objFSO.GetFolder(JPGREIHEFile)und du hast unter
If objFile.Type = "JPEG-Bild" Then geschrieben gehört hier nicht ".jpg" rein
Gruß Richard
AW: Hyperlink (Bildreihe)in Multipage öffnen
06.11.2018 23:34:33
Mullit
Hallo Richard,
tja so langsam wird die Luft dünn, den Pfad, entweder Bild oder Ordner mußt Du irgendwie hinkriegen, hab nochmal Code mit 'n paar Anmerkungen und ich laß nochmal offen, vielleicht hat da ein anderer noch was Gutes beizusteuern...;-)
Private Sub cmdJPGREIHE_Click()
    'Link in JPGREIHE-Spalte öffnen 
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim wksData As Worksheet
    Dim lngIndex As Long
    Dim Zeile As Long
    Dim Zelle As Range
    Dim JPGREIHEFile As String
    Set wksData = ActiveSheet '// auf Verdacht nachdekl. .... 
    
    
    With Me.ListBox1
        If .ListIndex <> -2 Then
            Zeile = .List(.ListIndex, .ColumnCount - 1)

            Set Zelle = wksData.Cells(Zeile, 10) 'Zelle mit JPGREIHE-Hyperlink 
        
            JPGREIHEFile = Zelle.Hyperlinks(1).Address
            '///// In JPGREIHEFile muß jetzt so was stehen, wenns sich um einen Ordner handelt:///// 
            '///// C:\...\...\Test\Bilder ///// Debug.Print JPGREIHEFile ///// 
            Set objFSO = CreateObject(Class:="Scripting.FileSystemObject")
            Set objFolder = objFSO.GetFolder(JPGREIHEFile)
            For Each objFile In objFolder.Files
                '//// Hier kannst Du auch so schreiben, die objFile.Type Rückgabe ist, ////// 
                '//// wie vorher geschr., zumindest auf einem dt. Windows.....//// 
                If objFSO.GetExtensionName(objFile.Path) = "jpg" Then '//// Hier statt objFile.Type ///// 
                    With UF_Bildreihe.mlt_Bilder
                        For lngIndex = 0 To .Pages.Count - 1
                            With .Pages(lngIndex)
                                If .Picture Is Nothing Then
                                   .Caption = objFile.Name
                                   Set .Picture = LoadPicture(Filename:=objFile.Path)
                                   Exit For
                                End If
                            End With
                        Next
                        If lngIndex = .Pages.Count Then _
                          Set .Pages.Add(bstrCaption:=objFile.Name).Picture = _
                             LoadPicture(Filename:=objFile.Path)
                    End With
                End If
            Next
            Set objFSO = Nothing
            Set objFolder = Nothing
            If Not UF_Bildreihe.Visible Then Call UF_Bildreihe.Show(vbModeless)
        End If
    End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
08.11.2018 09:50:41
Richard
Hallo Mullit,
habe jetzt unter der Eingabemaske die Kurzform entfernt(Abspeicherung in der Langform) somit wird jetzt in der Auswertung der JPGReiheFile vollständig angezeigt.Aber unter Set objFSO ist kein Ergebnis "Nothing" und somit ist ein Debugg unter " If Not UF_Bildreihe.Visible Then Call UF_Bildreihe.Show(vbModeless)"
Gruss Richard
AW: Hyperlink (Bildreihe)in Multipage öffnen
08.11.2018 16:31:28
Richard
Hallo Mullit,
neue Erkenntnis: habe alles gelöscht und neuen Eintrag mit Bildreihe gemacht funktioniert einwandfrei.
Lege ich aber einen 2. Eintrag an lässt sich dieser zwar aufrufen es wird jedoch nur die Multipage UF angezeigt ohne Bildinhalt
Anzeige
AW: Hyperlink (Bildreihe)in Multipage öffnen
09.11.2018 16:56:24
Mullit
Hallo Richard,
hm gut, das ist ja schonmal ein Ansatz, ok, Du könntest höchstens Deinen letzten Stand nochmal hochladen, inkl. einer genauen Beschreib., wie Dein Multipage nun aussehen soll, bei mir werden die neuen Pages nämlich geladen...
Vielleicht könnt ich Dir dann noch was einbauen, aber ohne Garantie...;-)..Zumal wir mit unserem Thread auch bald aus dem Antwort-Zeitraum rausfallen..
Gruß, Mullit
AW: Hyperlink (Bildreihe)in Multipage öffnen
09.11.2018 17:57:54
Richard
https://www.herber.de/bbs/user/125294.xlsm
Hallo Mullit,
vielen Dank für Deine Rückantwort - folgender Sachverhalt habe Win 7 prof mit c64
jetziger Stand kann jedes Format einlesen wird auch korrekt abgespeichert.
In der Auswertung kann auch jedes Format (bis auf jpg Reihe) geöffnet werden.
Bei jpg Reihe wird nur die leere Multipage angezeigt. Ohne codeänderung wurde auch schon einmal die Multipage gefüllt aber nur ein einziges mal.
Was mir auch noch aufgefallen ist beim ersten mal wird in die UF Auswertung der Pfad richtig angezeigt so wie übernommen.Schließe ich die Exceldatei(mit Abfrage speichern ja)und öffne sie noch einmal wird mir der Pfad in UF Auswertung angezeigt /../../../ Pfadangabe.
Ich geb mir die Kugel anbei noch einmal die Datei mit den fehlern wie oben beschrieben.
Gruß Richard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige