Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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

Pfadangabe als Hyperlink deklarieren

Pfadangabe als Hyperlink deklarieren
07.07.2016 08:24:59
Rookie
Hallo liebe Leute,
ich habe einen Code (dank eurer Hilfe!) mit dem ich bestimmte Dateien suchen und auflisten kann:
Sub ordner_auflisten_neu()
Dim vntRet As Variant, strTMP As String
Dim pfad As String, ausgabe$()
Dim i&, p&
pfad = Master.Range("StrQOrdner").Value
If Len(pfad)  "\" Then pfad = pfad & "\"
strTMP = CreateObject("wscript.shell").exec("cmd /c Dir """ _
& pfad & Master.Range("StrDatFil") & """ /s /b").stdout.readall
Call OemToCharA(strTMP, strTMP)
vntRet = Split(strTMP, vbCrLf)
If UBound(vntRet) > 0 Then
D_Liste.Cells.ClearContents
ReDim ausgabe(1 To UBound(vntRet) + 1, 1 To 1)
For i = 0 To UBound(vntRet)
ausgabe(i + 1, 1) = vntRet(i)
Next
If ausgabe(UBound(ausgabe), 1) = "" Then p = 1 Else p = 0
D_Liste.Range("B1").Resize(UBound(ausgabe) - p, 1) = ausgabe
ReDim vntRet(1 To UBound(ausgabe) - p, 0)
For i = 1 To UBound(vntRet): vntRet(i, 0) = i: Next
D_Liste.Range("A1").Resize(UBound(ausgabe) - p, 1) = vntRet
Master.Range("AnzDatein").Value = UBound(ausgabe) - p
Else
Master.Range("AnzDatein").Value = 0
End If
End Sub

Funktioniert super!
Das Sahnehäubchen wäre noch, wenn die angezeigten Pfade jetzt auch noch als Hyperlink funktionieren würden.
Habs leider nicht hinbekommen. Habt ihr vielleicht eine Idee?
Mit besten Grüßen
Stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfadangabe als Hyperlink deklarieren
07.07.2016 12:30:22
baschti007
Lad mal eine Beispiel Datei hoch weil so kann ich das Makro nicht testen mit fehlt ja die hälfte =D
Gruß Basti

AW: Pfadangabe als Hyperlink deklarieren
07.07.2016 13:48:09
baschti007

Sub ordner_auflisten_neu()
Dim vntRet As Variant, strTMP As String
Dim pfad As String, ausgabe$()
Dim i&, p&
pfad = Master.Range("StrQOrdner").Value
If Len(pfad)  "\" Then pfad = pfad & "\"
strTMP = CreateObject("wscript.shell").exec("cmd /c Dir """ _
& pfad & Master.Range("StrDatFil") & """ /s /b").stdout.readall
Call OemToCharA(strTMP, strTMP)
vntRet = Split(strTMP, vbCrLf)
If UBound(vntRet) > 0 Then
D_Liste.Cells.ClearContents
ReDim ausgabe(1 To UBound(vntRet) + 1, 1 To 1)
For i = 0 To UBound(vntRet)
ausgabe(i + 1, 1) = vntRet(i)
Next
If ausgabe(UBound(ausgabe), 1) = "" Then p = 1 Else p = 0
D_Liste.Range("B1").Resize(UBound(ausgabe) - p, 1) = ausgabe
ReDim vntRet(1 To UBound(ausgabe) - p, 0)
For i = 1 To UBound(vntRet): vntRet(i, 0) = i: Next
D_Liste.Range("A1").Resize(UBound(ausgabe) - p, 1) = vntRet
Master.Range("AnzDatein").Value = UBound(ausgabe) - p
Else
Master.Range("AnzDatein").Value = 0
End If
'-----Text wird in Hyperlink umgewandelt
Dim x As Long
For x = 1 To i - 1
With D_Liste
.Hyperlinks.Add Anchor:=.Range("B" & x), Address:=.Range("B" & x).Value, ScreenTip:=.Range("B"  _
& x).Value, TextToDisplay:=Right(.Range("B" & x).Value, InStr(1, StrReverse(.Range("B" & x).Value), "\") - 1)
End With
Next x
'-----Text wird in Hyperlink umgewandelt
End Sub

Guck mal ob das so reicht ?

Anzeige
AW: Pfadangabe als Hyperlink deklarieren
07.07.2016 13:57:57
UweD
Hallo
hab es eingebaut...
Sub ordner_auflisten_neu()
  
  Dim vntRet As Variant, strTMP As String
  Dim pfad As String, ausgabe$()
  Dim i&, p&
  Dim Rng As Range, Zelle
  pfad = Master.Range("StrQOrdner").Value
  If Len(pfad) < 5 Then MsgBox "Kein Pfad gewählt": Exit Sub
  
  If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
  
  strTMP = CreateObject("wscript.shell").exec("cmd /c Dir """ _
     & pfad & Master.Range("StrDatFil") & """ /s /b").stdout.readall
  Call OemToCharA(strTMP, strTMP)
  vntRet = Split(strTMP, vbCrLf)
  
  If Ubound(vntRet) > 0 Then
    D_Liste.Cells.ClearContents
    Redim ausgabe(1 To Ubound(vntRet) + 1, 1 To 1)
    For i = 0 To Ubound(vntRet)
      ausgabe(i + 1, 1) = vntRet(i)
    Next
    If ausgabe(Ubound(ausgabe), 1) = "" Then p = 1 Else p = 0
    Set Rng = D_Liste.Range("B1").Resize(Ubound(ausgabe) - p, 1)
    Rng = ausgabe
    '---als Hyperlink 
    Rng.Hyperlinks.Delete
    For Each Zelle In Rng
        Zelle.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value _
        , TextToDisplay:=Zelle.Value
    Next
    '--- 
    Redim vntRet(1 To Ubound(ausgabe) - p, 0)
    For i = 1 To Ubound(vntRet): vntRet(i, 0) = i: Next
    D_Liste.Range("A1").Resize(Ubound(ausgabe) - p, 1) = vntRet
    Master.Range("AnzDatein").Value = Ubound(ausgabe) - p
   Else
    Master.Range("AnzDatein").Value = 0
  End If
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß UweD

Anzeige
AW: Pfadangabe als Hyperlink deklarieren
07.07.2016 15:43:27
Rookie
Vielen vielen Dank! Funktioniert wunderbar!
Es ist echt beneidenswert, dass Ihr VBA so gut versteht!
Herzlichen Dank nochmal!
Gruß
Stefan

AW: gern geschehen owt
07.07.2016 15:58:07
UweD

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige