Autor
|
Thema: viele hyperlinks in Liste ändern (19882 mal gelesen)
|
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004 IntelCore i7-8700 3,2 GHz-32 GB RAM NVIDIA RTX A4000 SolidWorks 2022 Pro x64 SP5.0 Windows 10 Pro 22H2 DraftSight 2021 x64 VariCAD Viewer 2018
|
erstellt am: 13. Nov. 2006 18:35 <-- editieren / zitieren --> Unities abgeben:
Moin moin, habe folgendes Problem : Habe eine Excel 2000 Liste, welche auf einem Server liegt. Diese Liste beinhaltet nun diverse hyperlinks zu Dateien auf einen anderen Server. Nun hat sich, durch Anschaffung eines größeren Servers, der Ursprungsort der Dateien, teilweise geändert. * Beispiel * Vorher : \\Servername A\altes Verzeichnis\... (was hier dann an Unterverzeichnissen folgt ist gleich geblieben bis hin zur Datei, die angesprochen wird) Nachher : \\Servername B\neues Verzeichnis\... (dito oben) Wie kann ich diese Liste oder vielleicht auch nur blattweise durchgehen und die angeführten links quasi durch suchen/ersetzen austauschen, daß diese links wieder funktionieren ??? Wie ich es händisch mache ist schon klar, hoffe, daß jemand eine "makrotische Eingebung" hat oder vielleicht eine Ahnung, wie man das Automatisieren kann ? Wäre für jede Hilfe dankbar, da schon mehrfach durchexerziert das Problem und jedesmal `n dicken Arm bekam ------------------ Gruß cad manu von ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 13. Nov. 2006 19:14 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Arbeitet im aktiven Blatt teil der alten adresse = \\server_plumbaqatsch1\unteretischkante ersetze mit diesem Teil =\\server_neuerqatsch1\oberetischkante als bsp. ;-) Code: Sub hyperhyper() Dim HypLink As hyperLink Dim strNeueURL As Stringalt = "\\server\1\" 'anpassen neu = "\\fileserv\2\" 'anpassen For Each HypLink In ActiveSheet.Hyperlinks strNeueURL = Replace(HypLink.Address, alt, neu) HypLink.Address = strNeueURL HypLink.TextToDisplay = HypLink.TextToDisplay 'alternativ strNeueURL Next End Sub
und falls man alles versaubeutelt hat :-)
Code:
Sub AlleHyperlinksLoeschen() Dim HypLink As hyperLink For Each HypLink In ActiveSheet.Hyperlinks HypLink.Delete Next End Sub
vorher sichern :-) [Diese Nachricht wurde von Thomas Harmening am 13. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004
|
erstellt am: 13. Nov. 2006 19:26 <-- editieren / zitieren --> Unities abgeben:
Moin Thomas, danke für Deine schnelle Antwort Werde es so schnell wie möglich ausprobieren mit einer Kopie natürlich. Hoffe ich habe es verstanden. ------------------ Gruß cad manu von ole
[Diese Nachricht wurde von cad manu am 13. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 13. Nov. 2006 19:41 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Tolles Makro Thomas! Hatte einen Ansatz mit einer direkten Ansteuerung der Zellen versucht, musste aber feststellen, dass Excel etwas protestiert, wenn man bei einer Zelle den Hyperlink auslesen will, wenn keiner da ist ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 13. Nov. 2006 19:48 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 13. Nov. 2006 19:50 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
N'Abend zusammen Zitat: Original erstellt von Oberli Mike: Tolles Makro Thomas![snip]... dass Excel etwas protestiert, wenn man bei einer Zelle den Hyperlink auslesen will, wenn keiner da ist
das sollte aber innerhalb einer Schleife mit "On Error Resume Next" in der erste Zeile des Makros abzufangen sein.
------------------ Gruß, Nicole Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 13. Nov. 2006 19:57 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: Original erstellt von runkelruebe: N'Abend zusammen das sollte aber innerhalb einer Schleife mit "On Error Resume Next" in der erste Zeile des Makros abzufangen sein.
Danke für den Tip, denke aber das Makro vom Thomas ist immer noch besser wie mein Ansatz. Beim Ansatz vom Thomas ist es egal wo die Hyperlinks hinterlegt sind. ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 13. Nov. 2006 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Klar is das Makro gut, die U's sind ja auch schon längst drüben War auch nur als Tipp für's Allgemeine gedacht. Schönen Feierabend! ------------------ Gruß, Nicole Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 13. Nov. 2006 20:05 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: Original erstellt von runkelruebe: die U's sind ja auch schon längst drüben
wobei ein Rückmeldung, gleich welcher Art, mir allemal lieber sind - als 1000 Uhus ;-) ...nagut, bei 1000 und 1 Uhus werde auch ich schwach :-) - aber zum Ferrari langt's immer noch nicht :-) [Diese Nachricht wurde von Thomas Harmening am 13. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 14. Nov. 2006 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: ...nagut, bei 1000 und 1 Uhus werde auch ich schwach :-) - aber zum Ferrari langt's immer noch nicht :-)
Nana, Thomas! Dass Du so auf weltliche Dinge zielst hätte ich aber nicht gedacht! Grüße, Ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004
|
erstellt am: 14. Nov. 2006 18:10 <-- editieren / zitieren --> Unities abgeben:
Moin moin Thomas und Hab es heute morgen gleich mit einer Kopie versucht und es hat bestens geklappt. War genau das was ich benötigte, bin völlig außer mir, denn es hat mir sehr viel Arbeit erspart. Gibt es nun noch eine Möglichkeit, nachdem ich die Datei fertig bearbeitet habe, welche das Abfragefenster : Makros aktivieren bzw. Makros deaktivieren ausschaltet, da doch auf Dauer lästig ??? Nur so `ne Frage ... ich könnt ja auch die Suchen Funktion benutzen, ich weiß ... ... hab ich nun noch nicht getan ... Netten Abend ------------------ Gruß cad manu von ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 14. Nov. 2006 18:31 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
|
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004
|
erstellt am: 14. Nov. 2006 18:47 <-- editieren / zitieren --> Unities abgeben:
|
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 14. Nov. 2006 18:59 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Solange die Makros aus einer vertauenswürdigen Quelle stammen ist alles i.O. (z.B. von dir selber). Ist die Einstellung aber auf niedrig, sagt dir Excel nicht mehr, dass es Makros im File hat. Und schon das Staren von Excel kann Makros zur Ausführung bringen. Also nicht nur "Angstmache". ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Nov. 2006 19:39 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Du mußt einfach nur das Makro wieder aus der Datei löschen, dann enthält sie ja keine Makros mehr, und excel fragt nicht mehr, ob sie ausgeführt werden sollen Am Besten "exportierst" Du es vorher an den Platz Deiner Wahl, vielleicht brauchst Du es ja später nochmal. Die Sicherheit würde ich auf keinen Fall auf niedrig stellen(das ist eine Systemeinstellung!) da manche böse Mappen vielleicht Makros in der Auto_Open haben, die Dir womöglich einiges auf Deinem System versauen könnten, bevor Du überhaupt reingeguckt hast. Ich entscheide doch schon lieber selber, was ich wie aufmache. ------------------ Gruß, Nicole Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... [Diese Nachricht wurde von runkelruebe am 14. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 14. Nov. 2006 19:46 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: Original erstellt von runkelruebe: Ich entscheide doch schon lieber selber, was ich wie aufmache.
genau, und deshalb biege ich lieber im Hex das B zum x um :-) und trotzdem, selbst mit höhster Sicherheitsstufe, denke ich, das XL nicht gefreit ist, ein Makro4 nicht auszuführen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004
|
erstellt am: 14. Nov. 2006 19:47 <-- editieren / zitieren --> Unities abgeben:
Moin runkelrübe ... also erst exportieren und dann löschen ... Hatte es schon ohne export versucht zu löschen, aber wollte nicht ... fragte immer wieder beim öffnen ... ... oder hab ich beim löschen was übersehen ? ------------------ Gruß cad manu von ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004 IntelCore i7-8700 3,2 GHz-32 GB RAM NVIDIA RTX A4000 SolidWorks 2022 Pro x64 SP5.0 Windows 10 Pro 22H2 DraftSight 2021 x64 VariCAD Viewer 2018
|
erstellt am: 14. Nov. 2006 19:56 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Nov. 2006 20:13 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: oder hab ich beim löschen was übersehen ?
ich weiß ja nicht, wo Du überall was eingefügt hast, aber das alles muß jetzt wieder raus. Zur Not kopier Dir das Tabellenblatt und füge es in eine saubere neue mappe wieder ein. So ganz ohne VBA, auf die altmodische Art Mit Klicken in die obere linke Blatt-Ecke und Copy&Paste. Speichern und die "verseuchte" mappe nie wieder aufmachen oder löschen, das makro ist ja hier im Forum verewigt und BTW nichts ist sicher im Leben und schon gar kein MS-Produkt, munkelt man...
------------------ Gruß, Nicole Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 14. Nov. 2006 20:19 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Ach so, jetzt habe ich es verstanden. du musst nicht nur den Quelltext löschen, du musst auch das "Modul" löschen. Erst dann wird dich Excel nicht mehr nach dem aktivieren vom Makro fragen ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 15. Nov. 2006 00:13 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Zitat: Original erstellt von runkelruebe: und BTW [b]nichts ist sicher im Leben und schon gar kein MS-Produkt, munkelt man...[/B]
ausser man instanziert sich das Betriebsystem als virtuelle Maschine - dann kann man sogar gefährlich unterwegs sein, 'türlich nur innerhalb der virtuellen BS :-) @Cad-manu, die Sicherheitseinstellung auf hoch zu lassen ist schon i.O., codes die man selber ins VBA gebracht hat und versteht, sollten harmlos sein :-) Aber generell liegt es immer an der Handlung des Users, selbst in einem gut gesichertem System, es ist meist der User, der das System kippt, als das System selbst ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad manu Mitglied Technische Zeichnerin / Konstrukteurin
Beiträge: 796 Registriert: 01.09.2004
|
erstellt am: 15. Nov. 2006 19:56 <-- editieren / zitieren --> Unities abgeben:
Moin moin Thomas, Zitat: Original erstellt von Thomas Harmening: @Cad-manu, die Sicherheitseinstellung auf hoch zu lassen ist schon i.O., codes die man selber ins VBA gebracht hat und versteht, sollten harmlos sein :-)
genau so gings ... danke ------------------ Gruß cad manu von ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
duisy79 Mitglied Informatikkaufmann
Beiträge: 1 Registriert: 10.08.2009
|
erstellt am: 10. Aug. 2009 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Hallo, kann mir jemand sagen wo mein Felher ist. Beim Ausführen passiert nichts. Sub Hyperlink_ändern() Dim HypLink As Hyperlink Dim strNeueURL As String alt = "\\srv163\g-a097\Wissensdatenbank PCA\" 'anpassen neu = "\\srv163\g-a097\PM\Wissensdatenbank PCA\" 'anpassen For Each HypLink In ActiveSheet.Hyperlinks strNeueURL = Replace(HypLink.Address, alt, neu) HypLink.Address = strNeueURL HypLink.TextToDisplay = HypLink.TextToDisplay 'alternativ strNeueURL Next End Sub ------------------ Gruß Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Technischen Systemplaner (m/w/d) in Vollzeit | Die BSS Brandschutz Sichelstiel GmbH ist spezialisiert auf die Planung, Montage und Wartung von Feuerlösch- und Brandmeldeanlagen im industriellen Anlagenbau. Das Unternehmen wurde im Jahr 2006 gegründet und ist mittlerweile mit ca. 400 Mitarbeitern an den fünf Standorten Nürnberg, Filderstadt, Hamburg, Alzenau und Augsburg als einer der führenden Anbieter in der Brandschutzbranche tätig. Zum ... | Anzeige ansehen | Projektmanagement |
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 10. Aug. 2009 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für cad manu
Hi, sicher, dass wirklich nichts passiert? Oder siehst Du es nur nicht? ersetze: HypLink.TextToDisplay = HypLink.TextToDisplay 'alternativ strNeueURL mit: HypLink.TextToDisplay = strNeueURL Alles andere sprengt leider meine Ratefähigkeiten am Montagmorgen... Excel-Version angeben. Genau beschreiben, was Du tust und was passiert oder eben nicht. Evtl. Beispielmappe beilegen, da reichen ja TEST-Daten, 3 Zeilen oder so.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |