Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: [VBA] Office Dateien -> Hyperlinks verändern

[VBA] Office Dateien -> Hyperlinks verändern
03.02.2017 07:47:59
Nils
Hallo liebe Community,
gibt es die Möglichkeit in Excel eine Makro zu starten, dass mir ein Verzeichnis incl. der Unterverzeichnisse nach Office Dateien durchsucht, deren Hyperlinks analysiert und einen Teil von jedem Hyperlink ersetzt?
Hintergrund ist, wie ihr euch denken könnt:
Es hat sich Laufwerk geändert, was zu Folge hat, dass alle Hyperlinks in Word, Excel, Powerpoint fehlerhaft sind.
ALT:
//ww01.domain.net/Laufwerk01/Verzeichnisbaum...
NEU:
//ww99.domain.net/Laufwerk04/Verzeichnisbaum...
Wenn man also automatisiert die Dateien in einem Verzeichnis suchen könnte, und deren Hyperlinks anpassen könnte, dann würde das unendlich viel Arbeit ersparen.
So in etwa stelle ich mir das vor:
Finde alle [Dateien] in [Verzeichnis] mit Endungen:
"*.xls", "*.xlsx", "*.xlsm"
"*.ppt", "*.pptx", "*.pptm"
"*.doc", "*.docx", "*.docm"
For each [Datei] in [Dateien]
Open [Datei]
For each [Hyperlink] in [Datei]
Ersetzte Teil [//ww01.domain.net/Laufwerk01/] mit
[//ww99.domain.net/Laufwerk04/]
Next [Hyperlink]
Speicher [Datei]
Schließe [Datei]
Next [Datei]
Geht sowas?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: [VBA] Office Dateien -> Hyperlinks verändern
03.02.2017 10:18:59
Fennek
Hallo,
ja, das sollte gehen! Aber in der recht eingeschränkten Kommunikation des Forums kann das etwas tückig werden. In jedem Fall erfordert das von dir die Fähigkeit, die Codes zu verstehen und - zumindest etwas - anzupassen.
Für den Anfang:
Suchen aller relevanter Datei und Schreiben der Pfad+Dateinamen in eine neue Datei:
snb's "SuperCode"

Sub M_snb_dir()
sn = Split(CreateObject("wscript.shell").exec("cmd /c dir ""//ww99.domain.net/Laufwerk04/*. _
xls?"" /b/s").stdout.readall, vbCrLf)
For i = 1 to ubound(sn)
cells(i,"A") = sn(i)
Next i
End Sub
Den Code für ppt und doc wiederholen, aber in eine andere Spalte schreiben.
Wenn das geklappt hat, kann der nächste Schritt gegangen werden.
mfg
(Falls Bedarf besteht: {windos-Taste}+r, cmd.exe{enter}dir /? und lernen, wie der Befehl funktioniert)
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige