Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
Inhaltsverzeichnis

Field-Links-Update ohne Laden von Dateien

Field-Links-Update ohne Laden von Dateien
02.09.2019 12:40:42
Dateien
Hallo Leute,
erstmal zu meiner Situation:
Da das automatische Aktualisieren von Link-Pfaden in .docx Dokumenten nicht funktioniert, habe ich in VBA ein entsprechendes Makro geschrieben, welches das bewerkstelligen soll. (Wer das Problem nicht kennt: Erstellt man in Word Links zu Excel-Tabellen, wird der entsprechende Pfad in das Link-Field geschrieben. Verschiebt man nun den gemeinsamen Ordner (mit Word und Excel Dateien) in einen anderen Pfad mit anderem Laufwerksnamen etc., aktualisieren sich die Pfade nicht automatisch)
Der Code funktioniert soweit auch, allerdings sind die verlinkten Excel-Dateien relativ groß, und so wie ich den Code aktuell stehen habe, wird bei jeder einzelnen Aktualisierung des Link-Pfades die entsprechende Datei geladen. Das kann besonders nervig sein, wenn es sich um ein Netzwerklaufwerk handelt, welches die Dateien nicht so schnell herunterläd. Bei ca 250 Links zieht sich das dann unnötig in die Länge.
Jetzt zu meiner Frage:
Gibt es eine Möglichkeit, dass die Dateien nicht direkt geladen werden, sobald der Link editiert wurde? Ich würde das gern innerhalb der Schleife für die einzelnen Links ausschalten, dann die Links editieren und NACH der Schleife alle Links auf einmal aktualisieren (bzw die Excel Dateien herunterladen lassen), um Zeit zu sparen.
Ich habe schon den Befehl .LinkFormat.Update = False gefunden, allerdings wird dieser beim Editieren des Link-Pfades einfach wieder auf True gesetzt. Vielleicht auch ein Ansatz, das auf irgendeine Weise zu unterbinden?
Ich hoffe ich habe mich verständlich ausgedrückt, ansonsten gehe ich gern auf Fragen ein. Anbei _
noch mein entsprechender Code:

Sub fieldlinksupdate()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim Path As String
Dim Excel As Object
Dim Exceldummy As Object
Application.DisplayStatusBar = True
Path = ActiveDocument.Path
i = ActiveDocument.Fields.Count     'Anzahl der im Dokument vorhandenen Field-links
k = 1
Count = 0
Set Exceldummy = CreateObject("Excel.Application")
Set Excel = GetObject(, "Excel.Application")                                           ' _
Schließen aller Excel Applikationen, damit keine Fehlermeldung "Es können keine zwei Dokumente desselben Namens geöffnet werden" erscheint
Excel.Application.DisplayAlerts = False
Excel.Application.Asktoupdatelinks = False
Do
Set f = ActiveDocument.Fields(k)
Application.StatusBar = "Aktuell in Schleifendurchlauf " & k & " von " & i
If Not f.OLEFormat Is Nothing Then
f.LinkFormat.AutoUpdate = False 'ich hatte gehofft, damit klappt es, tut es  _
aber nicht :(
On Error GoTo Eingabefehler
Excel.Application.DisplayAlerts = False
Excel.Application.Asktoupdatelinks = False
Excel.Application.Quit
Eingabefehler:
f.LinkFormat.SourceFullName = Path & "\" & f.LinkFormat.SourceName           _
'Überschreiben des Links --> Hier wird die "neue" Datei "heruntergeladen", was zu Verzö _
gerungen führt
Count = Count + 1
End If
k = k + 1
Loop Until k = i + 1
MsgBox ("Es wurden " & Count & " Links aktualisiert. Der neue Pfad lautet: " &  _
ActiveDocument.Path)
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Field-Links-Update ohne Laden von Dateien
02.09.2019 18:49:41
Dateien
Hallo Christoph,
in einem Vba-Programmierbuch habe ich einen anderen Ansatz gefunden, getestet und für gut befunden.
Pfad (lokal und Netzwerk) sowie den Dateinamen kann man austauschen, eventuelle Zielzell-Adressen aber nicht.
Hier der Code mit Quellangabe: https://www.herber.de/bbs/user/131796.txt
Gruß von Luschi
aus klein-Paris
AW: Field-Links-Update ohne Laden von Dateien
04.09.2019 09:10:59
Dateien
Hallo Luschi,
erstmal vielen Dank für deinen Input und für die Hilfe!
Ich muss vorweg sagen, dass ich erst vor 2 Wochen das erste Mal etwas in VBA programmiert habe und entsprechend noch nicht so viele Kniffe und Tipps kenne, deshalb korrigiere mich bitte, wenn ich etwas falsch verstanden habe. So, wie ich den von dir vorgeschlagenen Code lese, muss man vorher festlegen, mit welchem Pfad man den alten erstezen möchte. Das Problem ist, der Pfad, genauer gesagt die Excel-Datei, und auch die darin enthaltenen Tabellen, unterscheiden sich von Link zu Link in meiner Word Datei. Das heißt, ich müsste trotzdem jedes Mal einzeln checken, welche Datei am Ende des Pfades stehen muss etc, was mich (glaube ich) zu meinem alten Problem zurückführt.
LG Christoph
Anzeige
AW: Field-Links-Update ohne Laden von Dateien
05.09.2019 15:48:40
Dateien
Hallo Luschi,
ich möchte mich nochmal für deine Antwort bedanken. Heute hatte ich Zeit, mich damit auseinander zu setzen und ich habe es geschafft, deinen Code an meine Problematik anzupassen. Mein Problem ist also gelöst, dankeschön! :)
LG Christoph

202 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige