ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
1146
1146
EMPFEHLEN
-
03.09.08 08:43 #1
- Registriert seit
- Aug 2006
- Ort
- Europe - Germany - Mainz
- Beiträge
- 296
Hallo,
ich habe ein Makro erstellt, das sich aus einer Tabelle den Dateinamen holt. Anschließend diese Datei sucht und dann in der selben Tabelle einen Hyperlink auf die Datei erstellt.
Mein Problem ist nun, das bei manchen Dateien der Hyperlink nicht erstellt wird. Wenn ich Ihn per Hand erstelle, dann funktioniert das erstmal einwandfrei. Klicke ich aber auf den Link, kommt der Fehler: Cannot open the specified file.
In dem Pfad zur Datei sind unter anderem diese Klammern: [] enthalten, z.B.:
C:\Dateien [neu]\Datei1.pdf
Bei manchen Dateien scheinen die []-Klammern nicht zu stören, bei anderen aber doch.
Weiß jemand wo das Problem liegen kann?
gruß klaus.
-
03.09.08 09:28 #2
- Registriert seit
- Jan 2004
- Beiträge
- 212
hi
nebenbei: Hyperlinks in Excel ohne VBA erstellen...
Excel denkt bei den eckigen Klammern wohl das es eine Exceldatei ist und du eine Unterseite davon ansprechen willst. Oder, wenn du sagst es funktioniert bei einigen, könnte es sich an Leerzeichen stören.
Gibst du den Pfad/Dateiname in doppelten Anführungszeichen ein " ?
DDThere are 10 types of people in this world.
Those who understand binary and those who don't.
____________________________________________
EvE-Online 21-Tage Trial mit Startkapital - PN an mich
-
03.09.08 09:49 #3
- Registriert seit
- Aug 2006
- Ort
- Europe - Germany - Mainz
- Beiträge
- 296
Hi DD,
ich gebe den Hyperlink über ein Variable ein.
Mein Tabelle ist so aufgebaut, das in der Spalte B die Dateinamen stehen, diesen lese ich mit meinem Makro aus, anschließend suche ich die Datei in der Verzeichnisstruktur unterhalb meines Excelsheets. Wenn die Datei gefunden wird, wird der Hyperlink dann erstellt.
Die Funktion Dateisuchen habe ich von hier übernommen: 'http://www.ms-office-forum.net/forum/showthread.php?t=237230Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Option Explicit Sub createHyperlinks() Dim intRow As Integer Dim Dateiname As String Dim DateipfadUndName As String Dim Pfadbegin As String Pfadbegin = "E:\" For intRow = 2 To 3994 Dateiname = getFilename(intRow) DateipfadUndName = DateiSuchen(Dateiname) If (DateipfadUndName <> vbNullString) Then createLink WorksheetFunction.Substitute(DateipfadUndName, Pfadbegin, ""), Dateiname, intRow End If Next intRow End Sub Private Function getFilename(ByVal paLine As Integer) getFilename = Range("B" & paLine).Value End Function Private Function DateiSuchen(paDateiname As String) As String 'http://www.ms-office-forum.net/forum/showthread.php?t=237230 Dim aryPfad() Dim i As Integer Dim bolGefunden As Boolean aryPfad = Array("E:\", "E:\Dateien\", "E:\Dateien [neu]\", "E:\Dateien [altes Zeug]\", "E:\Dateien [Unsinn]\", "E:\Dateien[Zu checken]\") i = 0 bolGefunden = False Do If Len(Dir(aryPfad(i) & paDateiname)) = 0 Then i = i + 1 Else bolGefunden = True End If Loop Until (i > UBound(aryPfad)) Or bolGefunden If bolGefunden Then DateiSuchen = aryPfad(i) & paDateiname Else DateiSuchen = vbNullString End If End Function Private Sub createLink(ByVal paPath As String, ByVal paName As String, ByVal paLine As Integer) Range("A" & paLine).Select Worksheets(1).Hyperlinks.Add Anchor:=Selection, Address:=paPath, TextToDisplay:=paName End Sub
gruß klaus.
-
03.09.08 10:29 #4
- Registriert seit
- Jan 2004
- Beiträge
- 212
heya,
beim Test bei mir selbst mit normalen Dateinamen bringt Fehler.
Und zwar erzeugt der Links mit '/' seperator was aber den Internet-shema entspricht, für Lokale Dateien/Verzeichnisse wird '\' verwendet.
Entweder übergibst du den vollständigen Pfad per "file:///E:/...." Syntax
oder du fügst den gefundenen Pfad als Hyperlinkformel ein:
Im String selbst sind die jeweils 2 doppelten Anführungszeichen notwendig, sonst würde er das als Stringende interpretieren.Code :1
ActiveCell.FormulaR1C1 = "=HYPERLINK(""Dateipfad/-name"",""Linkname"")"
DDThere are 10 types of people in this world.
Those who understand binary and those who don't.
____________________________________________
EvE-Online 21-Tage Trial mit Startkapital - PN an mich
-
03.09.08 13:25 #5
- Registriert seit
- Aug 2006
- Ort
- Europe - Germany - Mainz
- Beiträge
- 296
Hallo,
erstmal danke für Deine Antwort(en).
Also Fehler hatte ich bisher keine, wenn ich das Makro ausführe..Vielleicht hab ich beim kürzen des Codes einen Fehler gemacht.
Ich hab noch ein wenig getestet und das Problem scheint mit dem Pfad zusammenzuhängen, meine Makro erstellt den Hyperlink mit einer relative Pfadangabe, was zu dem Fehler führt, das die Datei nicht gefunden werden konnte.
Erstelle ich aber den absoluten Pfad klappt das ganze einwandfrei.
Mein Problem ist jetzt nur, das ich keine absoluten Pfade setzen kann, da ich diese Dateien immer wieder zwischen Festplatten hin- und herkopieren werde und ich möchte nicht jedesmal beim öffnen des Excelsheets ein Makro ausführen um die Hyperlinks anzupassen.
Weiß vielleicht noch jemand weiter?
gruß klaus.
-
03.09.08 14:30 #6
- Registriert seit
- Aug 2006
- Ort
- Europe - Germany - Mainz
- Beiträge
- 296
Hallo,
also ich habe mein Problem jetzt so gelöst, in dem ich einfach ein \ dem Dateipfad + -namen vorangestellt habe. Klappt einwandfrei.
gruß klaus.
Ähnliche Themen
-
Hyperlinks in Office 2003 auf Datei öffnet nicht
Von willimc im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 07.02.09, 15:27 -
Office 2003 Professional. mit Visual Studio 2005 Tools For Office
Von ganaboboy im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 24.06.07, 13:10 -
Hyperlinks funktionieren nicht!
Von bigfella im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 09.10.06, 23:43 -
im Menü funktionieren meine Hyperlinks nicht!
Von mingolein im Forum Flash PlattformAntworten: 4Letzter Beitrag: 29.10.04, 22:28 -
Office Fehlermeld:Erweiterung XCLOExt.dll nicht installiert (office 2003)
Von HPB im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 12.05.04, 08:46





Zitieren
Login





