Meerdere documenten aanpassen met standaard tekst

Status
Niet open voor verdere reacties.

Beukie24

Nieuwe gebruiker
Lid geworden
29 jan 2010
Berichten
2
Ik heb meerdere documenten voorzien van een standaard tekst.
Nu word de standaard tekst aangepast, en moet ik al mijn gemaakte documenten openen en de wijzigingen handmatig invoeren.

Is hier iets voor wat makkelijker gaat, of eventueel automatisch???

Groeten Henrie,
 
Het best dat dat ik u kan bieden is: Find and replace.

Je kan daar een woord, stukje tekst ingeven en dat zal hij gaan vervangen met wat je wenst.

Is dit een optie?

Jij zou het liefst willen dat hij al je documenten onmiddellijk aanpast met één muisklik waarschijnlijk? :D Maar ik denk niet dat dit mogelijk zal zijn.
 
maybe

Je moet nog maar 1x al je documenten aanpassen en dan is het voor altijd easy. De standaard tekst maak je in een van de documenten zoals het moet zijn. Je selecteerd die tekst en rechtermuisklik " kopieeren". Dan gaat u naar de andere bestanden en kiest u voor speciaal plakken. In dat venster kiest u voor koppeling plakken. Wanneer u nu de " moeder " tekst aanpast zal gelijk deze in alle documenten aangepast worden.

Probeer het eerst ff uit met een voorbeeldje,

Ik hoor het wel,

Gr. Sjon
 
De simpelste manier:

Maak een leeg document.
zet daarin 1 tabel met 1 kolom en 2 rijen
zet in cel A1 de oude tekst
zet in cel A2 de nieuwe tekst.

draai vervolgens de 1e macro hieronder die de oude tekst en de nieuwe tekst in een autotextfragment zet en opslaat in het standaard word-sjabloon.

Zet vervolgens de macro 'vervang1' in normal.dot.
Daarna kun je in ieder geopend document met deze macro de oude tekst door de nieuwe vervangen.
Als je dat geautomatiseerd wil doen voor meer dan 1 document kan dat met macro 'vervang_veel'.

Code:
Sub tst()
    With NormalTemplate
        With .AutoTextEntries
            .Add "oud", ActiveDocument.Tables(1).Cell(1, 1).Range
            .Add "nieuw", ActiveDocument.Tables(1).Cell(2, 1).Range
        End With
        With .AutoTextEntries("oud")
            .Value = Left(.Value, Len(.Value) - 2)
        End With
        With .AutoTextEntries("nieuw")
            .Value = Left(.Value, Len(.Value) - 2)
        End With
        NormalTemplate.Save
     End With
End Sub

Code:
Sub vervang1()
  ActiveDocument.Content.Find.Execute normaltemplate.AutoTextEntries("oud").Value, , , , , , , , , normaltemplate.AutoTextEntries("nieuw").Value, wdReplaceAll
End Sub


Code:
Sub vervang_veel()
   c0="E:\word\"
   c1=dir("E:\word\*.doc")
   do
      with getobject(c0 & c1)
         .ActiveDocument.Content.Find.Execute normaltemplate.AutoTextEntries("oud").Value, , , , , , , , , normaltemplate.AutoTextEntries("nieuw").Value, wdReplaceAll
         .save
         .close 0
      end with
      c1=Dir
   loop until c1=""
End sub
 
Laatst bewerkt:
Ik heb de oplossing van zeeuwtje1992 geprobeerd, en deze komt in de buurt wat ik wilde.

SNB bedankt voor je antwoord, maar dit gaat mij boven mijn pet..:confused::confused:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan