Kruisverwijziging in word

Status
Niet open voor verdere reacties.

Antoine1973

Gebruiker
Lid geworden
1 nov 2013
Berichten
5
Hoi,

In word bestand plaatsen we diverse bestanden dat doen we via invoegen, invoegen als koppeling.
Ik heb honderden word bestanden waarmee we dit zo gedaan hebben.
Deze staan in diverse sub directories
Nu wordt de hoofdirectorie verandert.
Kan ik dit op een eenvoudige wijze veranderen. Zonder dat ik elk afzonderlijk document moet openen. Tekst vervangen enz.

Bijv.
C:\map1\map2\map3 (waarin map 2 en 3 ongewijzigd blijven)

vervangen moet worden door:
C:\map4\map2\map3

Hoop dat iemand met een slim idee komt

gr,

Antoine
 
Wat heeft jouw vraag met Kruisverwijzingen te maken? Of komt dat nog?
 
Probleem is dat de linkverwijziging naar andere documenten in de directorie verplaatst wordt en deze dus in het word document niet automatisch mee verplaatst worden.
waardoor je foutmelding krijg doucument niet aanwezig.
Ik kan het voor een document wel aanpassen door tekst vervangen, maar dat kost erg veel tijd. Vandaar de vraag of dat het op een slimmere manier kan.
 
Laatst bewerkt door een moderator:
Maar dat heeft niks met 'Kruisverwijzingen' te maken, vandaar mijn vraag. Het complete herhalen (quooten) van een bericht is overigens totaal niet nodig, dus graag a) niet meer doen en b) de quoot uit jouw bericht verwijderen. Mijn vragen staan een heel stuk leesbaarder boven jouw bericht... Dat ik dus bij deze zou kunnen herhalen.
 
Een link of koppeling met een ander bestand is totaal niet te vergelijken met een kruisverwijzing, dat binnen een document plaats vindt. Dus ik kan kan mijn vorige vraag letterlijk herhalen...
Overigens, als ik het probleem naspeel, vraagt Word bij het openen of de verbroken koppelingen moeten worden hersteld. En als de mapstructuur hetzelfde is (koppeling tussen bron- en doeldocument) gaat dat (wordt eenmalig gevraagd) perfect.
 
Hoi,

Deze melding heb ik niet gekregen.
Bestanden worden op server niveau overgezet en als ik dan in de nieuwe opgeving het bestand open krijg ik geen melding. Druk ik op de koppelde bestand en laat dan bijwerken krijg ik de melding bestandlocatie niet gevonden
 
Het probleem is enigszins te reproduceren, d.w.z. dat een bestand met koppelingen de gekoppelde bestanden prima bijwerkt bij het openen van het hoofdbestand, maar niet meer als die gekoppelde bestanden worden verplaatst. Word slaat het volledige pad naar het gekoppelde bestand op in de veldcode, en herkent het veld niet meer als het pad daarin niet meer klopt.
Ik heb een macrootje gemaakt die werkende koppelingen kan aanpassen, maar die macro werkt dus niet bij koppelingen waarbij de bestanden al verplaatst zijn. De macro herkent het veld dan niet meer. Zelfs niet als je in de veldcode met de hand het pad aanpast. De (voorlopige) conclusie moet dan ook zijn dat je bestaande, werkende velden prima met een macro kunt aanpassen, maar velden die verwijzen naar niet-bestaande documenten worden niet gezien, en kunnen dus ook niet worden aangepast. Een werkwijze zou dus kunnen zijn om eerst de brondocumenten te openen, de macro draaien, en vervolgens de bestanden verplaatsen.
Da's niet helemaal wat je voor ogen had, maar het wordt èrg lastig om de velden op een andere manier te veranderen. Dan kom je denk ik al gauw uit op het compleet vervangen van de code.
 
Hoi,

Dat komt dus bijna op hetzelfde neer dat je bestand handmatig moet openen. Vervangen door de verwijzigde padnaam en bijwerken.
Dat was eigenlijk wat ik wilde voorkomen.
Waar kan ik je macrootje vinden zodat ik dat kan testen?
 
Zal hem morgen posten, want ik kan er vandaag niet bij. Je kunt documenten nog wel geautomatiseerd openen en bijwerken, maar daar komt dan wel wat meer bij kijken dan nu in de macro staat. En het werkt dus sowieso niet als de bestanden al verplaatst zijn, je moet de bestanden verplaatsen m.b.v. De macro. Wat prima kan.
 
Zoals beloofd, hier de macro om de links te checken/resetten.
Code:
Sub LinksAanpassen()
Dim sPad As String, sDocNieuw As String
Dim i As Integer, x As Integer
Dim tmp

sPad = ActiveDocument.Path
For i = 1 To ActiveDocument.InlineShapes.Count
    With ActiveDocument.InlineShapes(i)
        If .Type = wdInlineShapeLinkedOLEObject Then
            With .LinkFormat
                If InStr(1, .SourceFullName, sPad) > 0 Then
                Else
                    tmp = Split(.SourceFullName, "\")
                    sDocNieuw = sPad & "\" & tmp(UBound(tmp))
                    .AutoUpdate = True
                End If
            End With
        End If
    End With
Next i

End Sub
Je zult er nog wat aan moeten sleutelen om hem bestanden te laten openen, de gekoppelde bestanden te kopiëren naar de nieuwe locatie, de links te laten aanpassen (dat stuk heb je nu) en dan het bronbestand te verplaatsen. Maar dat is allemaal nog wel te doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan