magand
Goto Top

Zahlreiche Hyperlinks in einem Dokument auf einmal ändern - Makroproblem mit Sonderzeichen

Hallo, ich bin neu hier im Forum und habe ein Hyperlink-Problem, nach dessen Lösung ich auch schon gesucht habe. Dabei bin ich auch fündig geworden, scheitere aber an einer vermeintlichen Kleinigkeit. Daher ersuche ich Euch um Hilfe.

Ich habe ein Word-Dokument mit zahlreichen Verlinkungen auf andere Dateien. Nachdem ich ein neues Dienstnotebook mit einer völlig anderen Verzeichnisstruktur als bisher bekomme, muss ich nun alle diese Hyperlinks ändern.

Dazu habe ich auch eine Super-Anleitung aus diesem Forum gefunden, die grundsätzlich zu funktionieren scheint: Viele Hyperlink-Ziele in Word ändern

Nun habe ich aber ein kleines Problem. Ein Verzeichnis meiner bisherigen Struktur beinhaltet ein Sonderzeichen (Raute: "#"). Wenn ich den Verzeichnisnamen nun ins Makro einsetze und das Makro ausführe wird nicht der neue Pfad verlinkt, sondern der alte insofern berichtigt als die "#" durch den Ausdruck "%23" ersetzt wird.

Wie kann ich mein Problem Lösen?

Bin dankbar für Eure Vorschläge!

Content-Key: 167181

Url: https://administrator.de/contentid/167181

Printed on: April 19, 2024 at 05:04 o'clock

Member: Logan000
Logan000 May 30, 2011 at 11:23:57 (UTC)
Goto Top
Moin Moin

Hast Du schon mal versucht den Pfad in Anführungszeichen zu setzen?

Gruß L.
Member: magand
magand May 30, 2011 at 12:15:36 (UTC)
Goto Top
Hallo,

danke für die rasche Antwort!

Ich hab den ganzen Pfad als Const OldText bzw Const NewText unter Anführungszeichen gesetzt, wie im Link beschrieben (dort war es jedoch nur 1 Ausdruck, der geändert wurde). Ich hab aber keine Ahnung von Makroprogrammierung, drum stell ich lieber dar, was ich gemacht hab:

Const OldText = "D:\Daten\#Arbeitsbehelfe"
Const NewText = "F:\Arbeitsbehelfe"
...
Member: Logan000
Logan000 May 30, 2011 at 12:50:49 (UTC)
Goto Top
Moin

Und wenn du einfach mal statt der # mit %23 probierst?

Etwas so:
Const OldText = "D:\Daten\%23Arbeitsbehelfe"  
...

Gruß L.
Member: magand
magand May 30, 2011 at 13:01:57 (UTC)
Goto Top
Hallo Logan,

hab's grad probiert. Tut sich leider auch nichts!
Vielleicht mach ich ja auch was Anderes falsch dabei???!!
Member: magand
magand May 30, 2011 at 13:24:14 (UTC)
Goto Top
Ich hab da irgendwie ein Problem mit den Backslashes, denn jetzt hab ich den Ausdruck "%23Arbeitsbehelfe" in "Arbeitsbehelfe" abändern können (DANKE soweit), ebenso ein anderes Verzeichnis, aber sobald ich einen Backslash unter Anführungszeichen stelle, erfolgt keine Änderung des Ausdrucks mehr.

Muss ich den Backslash vielleicht irgendwie "maskieren" (sagt man so beim Programmieren?), also irgendein Zeichen voranstellen???
Mitglied: 76109
76109 May 30, 2011 at 14:04:19 (UTC)
Goto Top
Hallo zusammen!

Das Problem liegt nicht beim Makro, sondern an der Hyperlink-Funktion. Der Anzeigetext wird im Dokument richtig dargestellt, aber in der Hyperlink.Adresse selbst wird aufgrund des Raute-Zeichens Bockmist erzeugt. Die Hyperlinks mit Raute-Zeichen sollten vorher auch nicht funktioniert haben.

Wenn die Adressen im Dokument korrekt angezeigt werden, dann versuchs mal so:
Const OldText = "D:\Daten\#Arbeitsbehelfe"  
Const NewText = "F:\Arbeitsbehelfe"  

Sub ReplaceHyperlinks()
   Dim Link As Hyperlink
   For Each Link In ActiveDocument.Hyperlinks
      Link.Address = Replace( Link.TextToDisplay, OldText, NewText, 1, -1, vbTextCompare)
      Link.TextToDisplay = Link.Address
   Next
End Sub
wobei der Anzeigetext im Dokument zum Ändern verwendet wird.

Gruß Dieter
Member: magand
magand May 30, 2011 at 14:24:09 (UTC)
Goto Top
GEEEEENIAL!!!! Es funktioniert!!!

Hallo Dieter,

vielen Dank, du hast mir sehr geholfen.

Du hast recht, der Verzeichnisname mit der vorangestellten Raute war ursprünglich ein Problem, aber ich habe es dann - wenn ich mich recht erinnere - so gelöst, indem ich sämtliche Dateien (also die Quelldatei mit den Links und sämtliche Zieldateien einfach dorthin verfrachtet habe). Das war in meinem Fall kein Problem, weil ich so eine Art Datenbank aufgezogen habe, die ich laufend mit Dokumenten gefüttert hab. Letztendlich wurde die Raute jedenfalls auf diese Art vom Link akzeptiert.

Danke nochmals und LG
Mitglied: 76109
76109 May 30, 2011 at 14:58:55 (UTC)
Goto Top
Hallo magand!

Jepp, gern geschehenface-smile

Gruß Dieter