Thema Datum  Von Nutzer Rating
Antwort
Rot Aktualisierung von Field-Links ohne Herunterladen der verlinkten Dateien
02.09.2019 10:33:49 Chris
Solved
02.09.2019 10:54:47 Gast8522
NotSolved

Ansicht des Beitrags:
Von:
Chris
Datum:
02.09.2019 10:33:49
Views:
787
Rating: Antwort:
 Nein
Thema:
Aktualisierung von Field-Links ohne Herunterladen der verlinkten 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 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      'ich hatte gehofft, damit klappt es, tut es aber nicht :(
                    
                    f.LinkFormat.AutoUpdate = False
                    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

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Aktualisierung von Field-Links ohne Herunterladen der verlinkten Dateien
02.09.2019 10:33:49 Chris
Solved
02.09.2019 10:54:47 Gast8522
NotSolved