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

Hyperlink mit platzhalter/Variable

Hyperlink mit platzhalter/Variable
12.07.2004 17:21:13
Haiko
Hallo Allezusammen....
Brauche mal dringend Hilfe !!!!
Also ich habe mit excel eine einfache Liste (Inhaltsverzeichniss) für Wartungsunterlagen erstellt einiege seiten lang.
Nun habe ich Gedacht einfach einen Hyperlink zu erstellen welcher auf die eigentliche Datei (jpg / pdf / tif / doc ) verweist.
Also soweit hab ich es geschafft die Dokumente lassen sich über meine Liste öffnen, aber woran ich nicht gedacht habe ist die revision der Dokumente...
Sie werden regelmäsig revidiert dabei ändert sich der Dateiname von
z.B. Kfz_Elektrik_Motor_10_B_pdf
in z.B
Kfz_Elektrik_Motor_10_E_pdf
Der Buchstabe der sich ändert ist mein Revisionsstand nun ist der Hyperlink natürlich nicht mehr in der lage meine Datei zu öffnen weil sie ja für ihn nicht mehr vorhanden ist.....
Was muß ich wo miteingeben damit ich eine variable für den Buchstaben benutzen kann ?
Vielen Dank für Hilfe bin schon völlig daran verzweifelt....
Gruß Haiko

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink mit platzhalter/Variable
12.07.2004 17:41:42
Otto
Hallo Haiko,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
was hältst Du von

Bild
von Otto an Haiko
 ABCDE
46    Formel in D47
47Kfz_Elektrik_Motor_10_B_pdfKfz_Elektrik_Motor_10_=HYPERLINK(A47 & B47 & C47;A47)

Gruß Otto
Anzeige
AW: Hyperlink mit platzhalter/Variable
12.07.2004 18:51:16
Haiko
Nabend,
Also erst einmal Danke...
Das ganze funktioniert zwar aber noch nicht so wie ich mir das vorstelle....
Ich kann auf diese Art einen Hyperlink erstellen, dieser öffnet auch meine Datei aber nur solange wie der Name sich nicht geändert hatt....
Mein Problem ist ja das sich in meinem Dateinamen nur ein Buchstabe ändert was ich noch nichteinmal gemeldet bekomme ( von der anderen Abteilung welche die Revision durchführt)
Ich müste also meinem Hyperlink sagen: Hörzu der Buchstabe b ( oder welcher auch immer) der hatt dich nicht weiter zu interesieren
es ist also möglich das meine Datei Heute
Kfz_Elektrik_Motor_10_B_.pdf
heist und morgen
Kfz_Elektrik_Motor_10_c_.pdf
und übermorgen
Kfz_Elektrik_Motor_10_h_.pdf
heist....
Er müsste also die Datei mit den möglichkeiten a-z öffnen.
Gruß Haiko

Anzeige
Nachfrage
Martin
Hallo Haiko,
ist der variable, nicht zu beachtende Buchstabe immer der 5letzte? Oder gibt es anderes "System", um die Position dieses Buchstabens im Dateinamen zweifelsfrei festzustellen? Ist auch eine Lösung mit VBA "zulässig"?
Gruß
Martin Beck
AW: Nachfrage
14.07.2004 15:16:51
Haiko
Hallo zusammen,
habe einmal nachgesehen alle meine Dateien enden mit
---DRW-01_C_
oder mit
---DRW-02_C_
oder
---DRW-03_C_
oder
---DRW-04_C_
oder in der reihenfolge weiter.....
Nach dem letzten Unterstrich kommt natürlich noch die Dateierweiterung des jewiliegen Programmes!
Eine Möglichkeit ist eventuell zu sagen Ignoriere immer den Buchstaben zwischen den beiden Unterstrichen ! ?
denn nur dieser ändert sich im Laufe der Zeit !!!!
oder man sagt ignoriere immer die 6. stelle vom ende des Dateinamens vorausgesetzt die Namenserweiterung hatt inklusive Punkt immer 4 Stellen
Ich habe keine ahnung ob sowas geht !!!!
Ist auch eine Lösung mit VBA "zulässig"?
Gründe die aus meiner sicht dagegen sprechen
- Ich habe absolut keine ahnung von VBA
- das ganze soll auf einem Firmenrechner laufen, habe also keinerlei Admin. Rechte um irgendein PlugIn oder treiber zu installieren...
Wenn dann eventuell mit nem Link zu ner guten einfachen Anleitung oder Tipp von Ihnen...
Vielen Dank für Ihr bemühen
Haiko
Anzeige
AW: Nachfrage
14.07.2004 15:24:26
Otto
Hallo Haiko,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Was spricht dagegen, in meiner Lösung einfach in B47 den korrekten Buchstaben zu Fuß einzugeben?
oder hier statt dem Buchstaben eine Referenz auf eine externe Konfigurationstabelle zu nutzen?
Gruß Otto
AW: Nachfrage
14.07.2004 15:35:59
Haiko
Hallo Otto
Imgrunde ist das eine Lösung, ohne Frage !!!!!
Diese Liste wurde erstellt damit das lästige Suchen nach den Dokumenten endlich ein Ende nimmt...
Währen es nur eine Handvoll Dokus so hätte ich einfach In der Tabelle den Buchstaben geändert und gut...
nun handelt es sich aber um ca 3000 Dokusätze mit teilweise mehreren Seiten.
Da diese Dokumente durch die Revision ein " eigenleben" haben, und wenn ich z.B. nach dem Urlaub wieder komme kann ich davon ausgehen das min 250 Links nicht gehen und ich nun alle geänderten Revisionsbuchstaben von Hand nachtragen muss... Damit habe ich ja mehr Arbeit als wenn ich mit der Hand nach den Dokus suchen muss.... Hatte erhofft das der Pc der ja alles kann mir das abnimmt....
Gruß Haiko
Anzeige
Lösung(sansatz) mit VBA
Martin
Hallo Haiko,
folgendes Makro löscht in der Spalte A der ersten Tabelle alle Einträge und fügt dann Hyperlinks auf alle Dateien in einem angegebenen Verzeichnis ein:
Sub Hyperlink_Ersatz()
Worksheets(1).Columns(1).Clear
With Application.FileSearch
.NewSearch
.LookIn = "C:\Dokumente und Einstellungen\Martin\Eigene Dateien\Eigene Tabellen\"
.Filename = "*.*"
.SearchSubFolders = False
.Execute
icount = .FoundFiles.Count
For i = 1 To icount
Worksheets(1).Hyperlinks.Add anchor:=Worksheets(1).Cells(i, 1), Address:=.FoundFiles(i)
Next i
End With
End Sub
Du hast dabei noch folgende Gestaltungsmöglichkeiten
.LookIn = "C:\Dokumente und Einstellungen\Martin\Eigene Dateien\Eigene Tabellen\"
Hier mußt Du natürlich Deinen Pfad einsetzen.
.Filename = "*.*"
Hier kannst Du eingrenzen, für wecke Dateien Hyperlinks angelegt werden sollen, z.B "*.xls" wenn Du nur Exceldateien brauchst.
.SearchSubFolders = False
Statt False True und es werden auch die Unterverzeichnisse durchsucht.
Dieses Makro kopierst Du in ein normales Modul, weist es einem Button zu und startest es mit Click auf den Button. Eleganter wäre es m.E. noch, wenn Du folgenden Code verwendest:

Private Sub Workbook_Open()
Worksheets(1).Columns(1).Clear
With Application.FileSearch
.NewSearch
.LookIn = "C:\Dokumente und Einstellungen\Martin\Eigene Dateien\Eigene Tabellen\"
.Filename = "*.*"
.SearchSubFolders = False 'True
.Execute
icount = .FoundFiles.Count
For i = 1 To icount
Worksheets(1).Hyperlinks.Add anchor:=Worksheets(1).Cells(i, 1), Address:=.FoundFiles(i)
Next i
End With
End Sub

Gehe zunächst mit ALT-F11 in die sog. Entwicklungsumgebung und Doppelclicke im Projektexplorer auf DieseArbeitsmappe. In da sich öffnende Fenster kopierst Du den Code. Nun wird bei jedem öffnen der Datei die Hyperlinkliste aktualisiert.
Bei Bedarf kannst Du auch beides kombinieren (manuelle und automatische Aktualisierung).
HTH
Gruß
Martin Beck
Anzeige
AW: Lösung(sansatz) mit VBA
14.07.2004 19:18:52
Haiko
Gut geht soweit aber......noch nicht so wie ich es gerne hätte
Habe jetzt einfach mal eine Musterliste gemacht....
https://www.herber.de/bbs/user/8534.xls
Wichtig ist das in der Tabelle z.B. Spalten A3 B3 C3 D3 immer so zusammengehören !!
Aus dieser Tabelle ist ersichtlich das Stecker 9 (A10) 8 Leitungen (B10) und diese eine länge von 0.25 Metern (C10) haben.
Nun wollte ich verwirklichen das wenn ich auf "Link" (D10) klicke, das sich das dazugehörige Wiring öffnet,aus dem ich die Information zum Aufschallten entnehmen kann...
Der Dateiname des Wiring ist z.B. C25282868---DRW-01_A_.tif und C25282868---DRW-02_A_.tif
Da sind um 2 Seiten handelt
Wobei das _A_ den Revisionsstand darstellt und der ändert sich ja im laufe der Zeit. Wie oben schon beschrieben... bis max z das ist ja der letzte Buchstabe...
Natürlich muss der link auch immer zu A10 B10 C10 GEHÖREN !!!!
Wie mach ich das jetzt ?
Erschwehrend kommt noch hinzu nicht alle wirings sind im gleichen ordner...
Mit dem Code von Ihnen kann ich links in eine tabelle einfügen aber die werden nach schema x sortiert fehlt jetzt eine Datei rutschen die anderen weiter nach oben...und schon würde meine zeile mit den Links nicht mehr stimmig sein...
schonmal VIELEN DANK HAIKO
Anzeige
Neuer Lösungsansatz mit VBA
15.07.2004 18:17:00
Haiko
Hallo nochmal...
Hatte Heute einwenig Zeit mich mit dem Listenproblem zu beschäftigen.....
Habe auch eventuell einen neuen Ansatz gefunden, nun aber binn ich malwieder am Ende meiner Künste angekommen....
Folgendes habe ich nach mal Versucht...:

Private Sub Workbook_Open()
With Worksheets(1)
.Hyperlinks.Add .Range("a2"), "I:\test\test01_A_.doc"
.Hyperlinks.Add .Range("a4"), "I:\test\test03_C_.doc"
End With
End Sub

So die " Formel " fügt mir einen Link in meine Liste ein welcher zu der Datei test01_A_.doc (in das Feld A2) und zu
test03_C_.doc (in das Feld A4) führt beide lassen sich auch aus der Liste heraus öffnen !!!
Wie muss ich diese " Formel " erweitern damit der Buchstabe zwischen den beiden unterstrichen ignoriert wird ?
Einfach an dessen Stelle einen * funktioniert nicht genausowenig wie ein ? was soll ich da nehmen ?
Danke für Hilfe !!!!!
Haiko
Anzeige
AW: Neuer Lösungsansatz mit VBA
15.07.2004 18:25:28
Otto
Hallo Haiko,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Ungetestet: Schreibe
Das liefert Dir die erste Datei, die das Muster erfüllt.
Gruß Otto
AW: Neuer Lösungsansatz mit VBA
15.07.2004 20:01:55
Haiko
HALLO ALEZUSAMMEN !!!!
Vielen Dank für Eure Vorschläge !!!!!!!!
Zusammen sind wir (mit Euer Hilfe bin ich) anz Ziel gekommen. Werde Morgen versuchen mein neu erworbennes Wissen in die Tat umzusetzen.....
Also nochmal Danke an Euch beide....
mit freundl. Gruß
Haiko
AW: Neuer Lösungsansatz mit VBA
16.07.2004 10:54:15
Otto
Hallo Haiko,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Der Code ist auf Dauer nicht ok. Es ist nicht gut, bei jedem Aufruf der Zelle einen weiteren Hyperlink beizufügen. Im Zweifel würde ich prüfen, ob der vorhandene Hyperlink ok ist, falls nicht, Hyperlink löschen und durch neuen ersetzen.
Gruß Otto
Anzeige
AW: Neuer Lösungsansatz mit VBA
16.07.2004 12:00:33
Haiko
Da bin ich schonwieder.... sooooon sch..
Also Der Code Geht aber nur solange meine Liste in dem gleichen Ordner liegt wie meine zu linkende Datei. Ist diese auf einem anderen Laufwerk oder in einem anderen Ordner so funktioniert der Link nichtmer... Leider liegen meine Dateien über mehrere Laufwerke und in ätlichen ordner verstreut, deswegen treibe ich ja auch diese Geschichte nur....
Also hatt jemand nochmal eine IDEE wie ich die Folgende "Formel" überrede mir die gelinkten Dateien zu öffnen ? Der Link ansich wird auch an dem angegebenen Platz angezeigt das ist also soweit ok...
Lass ich die Maus auf dem Link stehen zeigt er mir auch den Link an aber schon dort fehlen die Unterordner er zeigt nur den ersten Ordner an den ich ihm gesagt habe, alle anderen sind nicht da ....(c:\Daten\ Jetz fehlt der rest\tab_*_xls

Private Sub Workbook_Open()
With Worksheets(1)
.Hyperlinks.Add .Range("i7"), Dir("C:\Daten\Ordner\tab2_*_.xls")
.Hyperlinks.Add .Range("i2"), Dir("c:\daten\ordner\tab1_*_.xls")
End With
End Sub

Danke nochmal
Haiko
P.S. mit dem immerwieder einfügen ist ok da ich die Datei gespeichert habe ohne eingefügte Links dann schreibschutz aktivieren damit sie keiner versehhentlich ändert..
Anzeige
AW: Neuer Lösungsansatz mit VBA
16.07.2004 12:54:31
Otto
Hallo Haiko,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Dann geht:

Gruß Otto
AW: Neuer Lösungsansatz mit VBA
16.07.2004 19:02:36
Haiko
Nabend,
Sieht ja nicht schlecht aus...
Aber nun sagt er beim Ausführen immer Laufzeitfehler "9" was kann ich nun dagegen tun ?
Und wie erweitere ich diese Formel für weitere Links welche ja in das gleiche Dokument eingetragen werden sollen
Habe mal meine Version abgedruckt:
Option Explicit

Sub Haupt()
Dim strDatei As String
Dim strPath As String
Dim wksLinks As Worksheet
Set wksLinks = ThisWorkbook.Worksheets("Links")
strDatei = "datei_ordner1.xls"                                           ******
strPath = "I:\Excel\ordner1\"                                            ******
With wksLinks
.Hyperlinks.Add .Range("A1"), strPath & Dir(strPath & strDatei)
End With
End Sub

In den Zeilen hinter denen die * stehen habe ich das an meine Struktur angepasst habe ich was vergessen oder mich irgendwo vertan ?
Ich habe also eine neue ExcelDatei erstellt mit ALT-F11 in den Modus gewechselt und Ihre version eingefügt noch die Einträge mit den ***** geändert und Fehler..
Der Laufzeitfehler tritt auch auf wenn ich Ihre version so belasse und sie versuche zu Starten
Gruß Haiko

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige