Links in Dynamische Labels

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm Frame Label


Betrifft: Links in Dynamische Labels
von: Claudia
Geschrieben am: 13.06.2018 15:32:09

Hallo,
ich brauche Hilfe bei dynamischen Labels. In meiner excel Anwendung habe ich div. Frames in einer Userform. In den Frames erstelle ich dynamische Labes.
So kann ich sehr gut eine Liste mit Daten aus einer Datenbank abbilden.
Was ich bisher nicht hinbekomme ich, einen Link als Label o.a. einzufügen, so dass er dann angeklickt werden kann und sich die Website öffnet.
Da ich neu bin hoffe ich das ich mich verständlich ausgedrückt habe und würde mich über eine Hilfestellung freuen.

Danke schon mal & LG
Claudia

Betrifft: AW: Links in Dynamische Labels
von: Nepumuk
Geschrieben am: 13.06.2018 15:41:50
Hallo Claudia,
ein Beispiel:

Private Sub Label1_Click()
    Call ThisWorkbook.FollowHyperlink(Address:="http://www.herber.de/forum/", NewWindow:=True)
End Sub

Gruß
Nepumuk

Betrifft: AW: Links in Dynamische Labels
von: Claudia
Geschrieben am: 13.06.2018 15:48:05
Hallo Nepumuk,
danke schon mal. Das wäre ja der normale Label. Ich fülle jedoch so in den Frame
With uf.Frame_uebersichtsliste.Controls.Add("Forms.Label.1"): .Caption = s7.Cells(i, 3): .Top = 16 * zeile: .Left = 65: .WordWrap = False: end With
LG Claudia

Betrifft: AW: Links in Dynamische Labels
von: Nepumuk
Geschrieben am: 13.06.2018 16:22:17
Hallo Claudia,
ist das immer der selbe Link oder ist der auch dynamisch?
Gruß
Nepumuk

Betrifft: AW: Links in Dynamische Labels
von: Claudia
Geschrieben am: 13.06.2018 20:23:25
Hallo,
der Link ist immer unterschiedlich aus der Datentabelle.
LG Claudia

Betrifft: AW: Links in Dynamische Labels
von: Daniel
Geschrieben am: 13.06.2018 20:34:28
HI
die LINK-Adresse könnte beim Erstellen des Labels in die TAG-Eigenschaft geschrieben werden und im Klick-Event des Labels dort aufgerufen werden.
Wenn du bei zur Laufzeit erstellten Steuerelementen ein Eventmakro haben willst, müsstest du entweder
- zusätzlich zu jedem Label das entsprechende Makro per Code erstellen
oder
- dich mit KLassenprogrammierung beschäftigen, dh ein einziges Klick-Eventmakro, welches dann aber allen neu erstellten Labels zugeordnet wird, so dass du nur ein ein Makro für alle Labels benötigst und nicht für jedes Label eines.
das währe hier das Mittel der Wahl. Zum Thema "Klassenprogrammierung" bitte in den Forenarchiven oder im WWW nach Anleitungen suchen.
Gruß Daniel

Betrifft: AW: Links in Dynamische Labels
von: Claudia
Geschrieben am: 13.06.2018 20:35:41
Hallo, danke Dir ich werde da mal tiefer reinschauen.

Betrifft: AW: Links in Dynamische Labels
von: Nepumuk
Geschrieben am: 14.06.2018 09:02:21
Hallo Claudia,
ein Beispiel:
Im Modul des Userforms:

Option Explicit
Private mobjLabelCollection As Collection
Private Sub UserForm_Initialize()
    Dim lngIndex As Long
    Dim objLabelClass As clsLabel
    Dim objLabel As MSForms.Label
    Set mobjLabelCollection = New Collection
    For lngIndex = 1 To 10
        Set objLabel = Frame1.Controls.Add(bstrProgID:="Forms.Label.1")
        With objLabel
            .Caption = Tabelle1.Cells(lngIndex, 3).Text
            .Tag = Tabelle1.Cells(lngIndex, 4).Text 'Das ist der Hyperlink
            .Top = 16 * lngIndex
            .Left = 65
            .WordWrap = False
        End With
        Set objLabelClass = New clsLabel
        Set objLabelClass.Label = objLabel
        Call mobjLabelCollection.Add(Item:=objLabelClass)
        Set objLabelClass = Nothing
    Next
    Set objLabel = Nothing
End Sub
Private Sub UserForm_Terminate()
    Set mobjLabelCollection = Nothing
End Sub
In einem Klassenmodul mit dem Namen clsLabel:
Option Explicit
Private WithEvents mobjLabel As MSForms.Label
Private Sub Class_Terminate()
    Set Label = Nothing
End Sub
Friend Property Get Label() As MSForms.Label
    Set Label = mobjLabel
End Property
Friend Property Set Label(ByRef probjLabel As MSForms.Label)
    Set mobjLabel = probjLabel
End Property
Private Sub mobjLabel_Click()
    Call ThisWorkbook.FollowHyperlink(Address:=mobjLabel.Tag, NewWindow:=True)
End Sub

Gruß
Nepumuk

Betrifft: AW: Links in Dynamische Labels
von: Luschi
Geschrieben am: 13.06.2018 15:51:16
Hallo Claudia,
warum googelst Du nicht? [userform label hyperlink]
Dann hättest Du diesen Tipp von John Walkenbach gefunden.
http://spreadsheetpage.com/index.php/tip/adding_a_hyperlink_to_a_userform/
Da kannst Du auch eine Demodatei zum Thema herunterladen.
Gruß von Luschi
aus klein-Paris

Betrifft: Zur Info:
von: RPP63
Geschrieben am: 13.06.2018 21:33:50
http://www.vba-forum.de/Forum/View.aspx?ziel=45371-Links_in_Dynamische_Labels

Excel-Beispiele zum Thema "Links in Dynamische Labels"