Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeichenanzahl v. Hyperlink beschränken

Zeichenanzahl v. Hyperlink beschränken
26.04.2007 21:55:00
Lemmi
Hallo zusammen,
ich habe als nicht VAB Experte eine, so hoffe ich, beschiedene Frage!
Vor geraumer Zeit habe ich das nachfolgende Marko gebraucht und bin sehr zufreiden mit den Ergebnissen!
Da ich aber zuwenig VAB kann und eine kleine Änderung benötige, möchte ich Euch Fragen wie man den ausgebenen Dateiname nicht nur von vorne mit den Pfadnamen beschränken kann sondern auch die ersten 10 Zeichen des Dateinamens.
Das Makro beschränkt zur Zeit den Dateinamen auf 15max. Zeichen (Dateiname) und würde dann die Zeichenfolge von 10ten bis zum 15 ten Zeichen ausgeben!
Damit hat der Hyperlink max 5 Zeichen.

Sub A_Hyperlink_einlesen_und_beschränken()
Dim iCount, i
Worksheets(1).Columns(1).Clear
With Application.FileSearch
.NewSearch
.LookIn = "C:\Test\test\"
'"D:\Programm-  und Softwareinfo\Excel\Projekt Porsche\Lop Porsche"
'Verzeichnis zu hause
.Filename = "*.*"
.SearchSubFolders = False
.Execute
iCount = .FoundFiles.Count
For i = 1 To iCount
'For i= 1 die Auflistung wird ab dem ersten Verzeichnis/Dateiname durchgeführt
Worksheets(1).Hyperlinks.Add anchor:=Worksheets(1).Cells(i, 7).Range("a2"), TextToDisplay:=  _
_
_
Dateiname_xlang(.FoundFiles(i)), Address:=.FoundFiles(i)
'Worksheets(1).Hyperlinks.Add anchor:=Worksheets(3)--> Arbeitsmappe 1
'Cells(i, 5) 5                                     --> Spalte E (1=A)
'Range("a3")                                       --> Zeile 6
Next i
End With
Columns("G:G").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.ColumnWidth = 15
End Sub



Function Dateiname_xlang(pfad As String)
Dim position As Long
position = WorksheetFunction.Find("#", WorksheetFunction.Substitute(pfad, "\", "#", Len(pfad) -  _
_
_
Len(WorksheetFunction.Substitute(pfad, "\", ""))))
pfad = Right(pfad, Len(pfad) - position) ' beschrängt die Zeichnenlänge auf der rechten Seite    _
_
_
vollständig
pfad = Left(pfad, 15) ' beschrängt die Zeichnenlänge auf der linken Seite max. 15 Zeichen
Dateiname_xlang = pfad
End Function


Gruß
Lemmi

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenanzahl v. Hyperlink beschränken
27.04.2007 23:56:00
fcs
Hallo Lemmi,
für gewünschte Änderung mss du die Function anpassen.
Gruß
Franz
Etwa so:

Function Dateiname_xlang(pfad As String)
Dim position As Long
'Position des letzten Backslash
position = WorksheetFunction.Find("#", WorksheetFunction.Substitute(pfad, "\", "#", _
Len(pfad) - Len(WorksheetFunction.Substitute(pfad, "\", ""))))
' Dateiname ohne Verzeichnis berechnen
pfad = Right(pfad, Len(pfad) - position)
' Prüfen ob länge Dateiname > 10 Zeichen
If Len(pfad) > 10 Then
'Zeichen 11 bis ggf.15 als Wert einlesen
pfad = Mid(pfad, 11, 5)
Else
'Bei zu kurzen Dateinamen:
pfad = Right(pfad, Application.WorksheetFunction.Min(5, Len(pfad)))
End If
Dateiname_xlang = pfad
End Function


Anzeige
AW: Zeichenanzahl v. Hyperlink beschränken
28.04.2007 22:49:17
Lemmi
...aller besten Dank Heinz!
das Ganze funktioniert sogar mit "minder" Datei- Namenslänge..... woran ich nicht einmal gedacht haben!
Vielen Dank für eine schnelle Hilfe
Gruß
Lemmi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige