Discussion:
Hyperlinks durch Makro ändern
(zu alt für eine Antwort)
Holger Kasten
2004-05-20 13:52:23 UTC
Permalink
Hallo,
ich habe folgendes Problem: ich habe in einer Excel-
Tabelle einige Hyperlinks, die sich auf weitere
Exceltabellen oder Worddokumente beziehen. Die Hyperlinks
sind über "Einfügen-Hyperlink" in die einzelnen Zellen
geschrieben worden. Beispiel:
Dateityp oder Webseite: C:\programme\datei1.doc#textmarke
etc
Ich würde gern über ein Makro den Pfad einheitlich
verändern. Z.B. bei Start des Makros sollen alle
Hyperlinks in C:\programme\datei1.doc#textmarke
einheitlich geändert werden.
Würde mich über Hilfe riesig freuen.
Holger
Melanie Breden
2004-05-20 14:21:13 UTC
Permalink
Hallo Holger,
Post by Holger Kasten
ich habe folgendes Problem: ich habe in einer Excel-
Tabelle einige Hyperlinks, die sich auf weitere
Exceltabellen oder Worddokumente beziehen. Die Hyperlinks
sind über "Einfügen-Hyperlink" in die einzelnen Zellen
Dateityp oder Webseite: C:\programme\datei1.doc#textmarke
etc
Ich würde gern über ein Makro den Pfad einheitlich
verändern. Z.B. bei Start des Makros sollen alle
Hyperlinks in C:\programme\datei1.doc#textmarke
einheitlich geändert werden.
Würde mich über Hilfe riesig freuen.
vielleicht hilft dir folgende Prozedur:

Sub PfadHyperlink()
Const strOldPath As String = "C:\Programme\"
Const strNewPath As String = "E:\eigene Dateien\"
Dim Hyp As Hyperlink

For Each Hyp In ActiveSheet.Hyperlinks
Hyp.Address = Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath, strNewPath)
Hyp.TextToDisplay = Hyp.Address
Next Hyp
End Sub
--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
Holger Kasten
2004-05-20 21:20:22 UTC
Permalink
Guten Abend Melanie,

herzlichen Dank für die Antwort, nur leider funktioniert
es noch nicht:

Ich bekomme (Excel 2000) folgenden Fehler:
"Fehler beim Kompilieren:
Methode oder Datenbankobjekt nicht gefunden"

und im VisualBasic springt der Cursor dann an folgende
Stelle (Hyp.Address):


Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath,_
strNewPath)

Wäre schön, wenn es dazu auch noch eine Lösung gibt.

Viele Grüße

Holger
Melanie Breden
2004-05-21 05:16:22 UTC
Permalink
Hallo Holger,
Post by Holger Kasten
herzlichen Dank für die Antwort, nur leider funktioniert
Methode oder Datenbankobjekt nicht gefunden"
und im VisualBasic springt der Cursor dann an folgende
Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath,_
strNewPath)
Wäre schön, wenn es dazu auch noch eine Lösung gibt.
die Prozedur funktioniert bei mir in Excel2000 unter Windows XP einwandfrei.

Kannst du mir eine Beispieldatei an meine Adresse zusenden?
--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
Holger Kasten
2004-05-21 06:51:36 UTC
Permalink
Hallo Melanie,

nochmal herzlichen Dank! Der Fehler kommt nicht mehr auf,
leider hab ich dafür jetzt ein anderes Problem (kann dir
aber leider keine Datei mailen - sorry!):
Die Hyperlinks werden nicht geändert.
Kann das daran liegen, dass ich auf einem Server arbeite?
Oder eine Textmarke im Hyperlink vorgegeben habe? Ich habe
über Einfügen - Hyperlink die Links eingefügt.

Vielen Dank nochmal, ich hoffe ich nerve nicht zuz sehr....

Holger
-----Originalnachricht-----
Hallo Holger,
Post by Holger Kasten
herzlichen Dank für die Antwort, nur leider funktioniert
Methode oder Datenbankobjekt nicht gefunden"
und im VisualBasic springt der Cursor dann an folgende
Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath,_
strNewPath)
Wäre schön, wenn es dazu auch noch eine Lösung gibt.
die Prozedur funktioniert bei mir in Excel2000 unter
Windows XP einwandfrei.
Kannst du mir eine Beispieldatei an meine Adresse
zusenden?
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
.
Holger Kasten
2004-05-21 08:41:09 UTC
Permalink
Hi Melanie,

ich habe gerade festgestellt, dass ich den kompletten Pfad
inkl. Textmarke angeben muss. Ich werde das erstemla
testen! Melde mich ggf. dann nochmal am Wochenende hier im
Forum.

Vielen vielen Dank!!!!

Holger
-----Originalnachricht-----
Hallo Melanie,
nochmal herzlichen Dank! Der Fehler kommt nicht mehr auf,
leider hab ich dafür jetzt ein anderes Problem (kann dir
Die Hyperlinks werden nicht geändert.
Kann das daran liegen, dass ich auf einem Server arbeite?
Oder eine Textmarke im Hyperlink vorgegeben habe? Ich
habe
über Einfügen - Hyperlink die Links eingefügt.
Vielen Dank nochmal, ich hoffe ich nerve nicht zuz
sehr....
Holger
-----Originalnachricht-----
Hallo Holger,
Post by Holger Kasten
herzlichen Dank für die Antwort, nur leider
funktioniert
Post by Holger Kasten
Methode oder Datenbankobjekt nicht gefunden"
und im VisualBasic springt der Cursor dann an folgende
Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath,_
strNewPath)
Wäre schön, wenn es dazu auch noch eine Lösung gibt.
die Prozedur funktioniert bei mir in Excel2000 unter
Windows XP einwandfrei.
Kannst du mir eine Beispieldatei an meine Adresse
zusenden?
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
.
.
Holger Kasten
2004-05-21 15:19:09 UTC
Permalink
Hi Melanie,

ich habe gerade nochmal den Code versucht. In einer
eigenständigen Excel-Tabelle läuft er, in der, in der ich
ihn anwenden möchte bekomme ich immer noch den gleichen
Fehlerhinweis. Fehler beim Komilieren. Kann das mit den
Excel-Einstellungen des Programms zusammenhängen? WIe
gesagt, gleicher Rechner, gleiches Excel und es geht
nicht...

Vielen Dank

Holger
-----Originalnachricht-----
Hallo Holger,
Post by Holger Kasten
herzlichen Dank für die Antwort, nur leider funktioniert
Methode oder Datenbankobjekt nicht gefunden"
und im VisualBasic springt der Cursor dann an folgende
Application.WorksheetFunction.Substitute( _
Hyp.Address, strOldPath,_
strNewPath)
Wäre schön, wenn es dazu auch noch eine Lösung gibt.
die Prozedur funktioniert bei mir in Excel2000 unter
Windows XP einwandfrei.
Kannst du mir eine Beispieldatei an meine Adresse
zusenden?
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
.
Melanie Breden
2004-05-22 12:23:55 UTC
Permalink
Hallo Holger,
Post by Holger Kasten
ich habe gerade nochmal den Code versucht. In einer
eigenständigen Excel-Tabelle läuft er, in der, in der ich
ihn anwenden möchte bekomme ich immer noch den gleichen
Fehlerhinweis. Fehler beim Komilieren. Kann das mit den
Excel-Einstellungen des Programms zusammenhängen? WIe
gesagt, gleicher Rechner, gleiches Excel und es geht
nicht...
schau mal im VBA Editor im Menü Extras | Verweise, welche Verweise
jeweils gesetzt sind.

Versuche mal die Tabellenblätter in eine neue Datei zu kopieren.
Tritt der Fehler immer noch auf?
--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#
Lesen Sie weiter auf narkive:
Loading...