Note: The other languages of the website are Google-translated. Back to English

Hoe zoek en vervang ik meerdere bestanden in Word?

Als u enkele tientallen woordbestanden heeft die dezelfde inhoud bevatten (zoals koptekst, voettekst, enkele speciale woorden of cijfers), en u moet dezelfde inhoud in die documenten in Word vervangen. Hoe zou het voor u gemakkelijker zijn om het snel voor elkaar te krijgen? U kunt die bestanden natuurlijk een voor een openen om dezelfde inhoud te vervangen, maar het zal tijdrovend en lastig zijn. Deze tutorial laat je een lastige manier zien om dezelfde inhoud in meerdere documenten in Word tegelijk te vervangen.

Zoek en vervang teksten in meerdere woorddocumenten tegelijkertijd met VBA-code
Vind en vervang eenvoudig verschillende teksten in meerdere documenten tegelijk met Kutools voor Word


Zoek en vervang teksten in meerdere woorddocumenten tegelijkertijd met VBA-code

1. druk op anders + F11 om de te openen Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster klikt InvoegenModuleen kopieer vervolgens de volgende VBA-code naar het modulevenster.

VBA-code: zoeken en vervangen van dezelfde inhoud in meerdere documenten tegelijk

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. druk de F5 sleutel om de code uit te voeren.

4. In de opening Blader zoek en selecteer de documenten die u zult vinden en vervang de tekst erin, en klik vervolgens op het OK knop. Zie screenshot:

5. In de eerste Kutools for Word dialoogvenster, voert u de tekst die u in documenten aantreft in het Zoeken naar vak en klik vervolgens op het OK knop.

6. In de tweede Kutools for Word dialoogvenster, voer de tekst in die u wilt vervangen en klik op het OK knop.

8. Klik op het OK knop in de volgende Microsoft Word dialoogvenster om het zoeken en vervangen te voltooien.

In dit geval worden alle woorden "Word" in geselecteerde documenten tegelijkertijd vervangen door "Excel".


Vind en vervang eenvoudig verschillende teksten in meerdere documenten tegelijk met Kutools voor Word

Beveel hier het Batch zoeken en vervangen kenmerk van Kutools for Word. Met deze functie kunt u eenvoudig verschillende teksten in meerdere Word-documenten tegelijk zoeken en vervangen. Laten we eens kijken hoe we deze functie kunnen toepassen om teksten in documenten te zoeken en te vervangen.

Kutools for Word : met meer dan 100 handige Word-invoegtoepassingen, gratis te proberen zonder beperking in 60 dagen.

1. Klik alstublieft Kutools Plus > Batch zoeken en vervangen om de functie in te schakelen.

2. In de Batch zoeken en vervangen dialoogvenster, configureer dan als volgt.

  • 2.1) Klik op de Voeg rij toe knop onder de Zoeken en vervangen tab;
  • 2.2) In de gemaakte rijvelden:
A. Typ de tekst die u zult vinden in het tekstvak in het Vind kolom
B. Typ de tekst die u wilt vervangen in het tekstvak in het vervangen kolom;
C. Specificeer een zoektype, waar u de tekst kunt vinden en een kleur om de tekst naar wens te markeren. In dit geval selecteer ik Volledige woordafstemming, Hoofd document en een bepaalde kleur uit de Zoektype, Vinden in en Markeer kolommen;
  • 2.3) Herhaal stap 2.1 en 2.2 om meer teksten toe te voegen die u zult vinden en vervangen;
  • 2.4) Klik op de  knop in de Bestandstype sectie om de Word-documenten toe te voegen waarin u teksten zult vinden en vervangen;
  • 2.5) Klik op de vervangen or Vind knop. Zie screenshot:

Notes:
1. Als u op het Vind -knop, worden alle zoekresultaten weergegeven onder de Voorbeeld van resultaat tabblad. Als u na het bekijken van de resultaten alle teksten wilt vervangen, klikt u op de Zoeken en vervangen tabblad. Sluit anders het dialoogvenster.

2. Als u op het vervangen -knop, worden alle opgegeven teksten onmiddellijk vervangen door nieuwe en worden de resultaten ook weergegeven onder de Voorbeeld van resultaat Tab.

3. Als u markeringskleuren opgeeft in stap 2, worden alle vervangen teksten gemarkeerd met gespecificeerde kleuren, en kunt u ze gemakkelijk in één oogopslag terugvinden in documenten.

3. Sluit de Batch zoeken en vervangen dialoogvenster

Voor meer informatie over deze functie, gelieve Klik hier....

Als u een gratis proefversie van dit hulpprogramma wilt, gaat u naar gratis download de software eerst, en ga dan de bewerking toepassen volgens bovenstaande stappen.


Aanbevolen Word-productiviteitstools

 

Kutools voor Word - meer dan 100 geavanceerde functies voor Word, bespaar 50% tijd

  • Ingewikkelde en herhaalde bewerkingen kunnen een eenmalige verwerking in seconden worden uitgevoerd.
  • Voeg meerdere afbeeldingen in verschillende mappen tegelijk in een Word-document in.
  • Voeg meerdere Word-bestanden in mappen samen en combineer ze tot één met de door u gewenste volgorde.
  • Splits het huidige document in afzonderlijke documenten op basis van koptekst, sectie-einde of andere criteria.
  • Converteer bestanden tussen Doc en Docx, Docx en PDF, verzameling tools voor algemene conversies en selectie, enzovoort ...
Comments (69)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Zal zij vragen waar de documenten in kwestie zich bevinden? Of moeten alle documenten geopend zijn?
Deze opmerking is gemaakt door de moderator op de site
Wanneer u het uitvoert, wordt standaard het dialoogvenster "Bestand openen" geopend in "Mijn documenten". Navigeer naar de map met de Word-bestanden waarin u de wijzigingen wilt aanbrengen. U kunt op "Ctrl" + "A" drukken om alle bestanden te selecteren, of u kunt de "Ctrl"-toets ingedrukt houden terwijl u bepaalde bestanden selecteert. Klik op "Openen" of druk op "Enter" en kijk hoe de magie gebeurt.
Deze opmerking is gemaakt door de moderator op de site
Ja, ik heb dezelfde vraag omdat ik denk dat dit nuttig zou zijn, maar ik wil het vertellen om alleen in bepaalde mappen te kijken.
Deze opmerking is gemaakt door de moderator op de site
Wanneer u de macro uitvoert, wordt het venster "Openen" geopend. Navigeer naar de map die de bestanden bevat waarin u de wijziging moet aanbrengen, klik vervolgens eenmaal op de eerste en klik vervolgens, terwijl u de "Ctrl"-toets ingedrukt houdt, op de andere bestanden die ook zoeken/vervangen vereisen. Als alle bestanden in de map de actie nodig hebben, drukt u gewoon op de toetsen "Ctrl" en "A". Klik vervolgens op "Openen" of druk op de "Enter"-toets, en de macro zal beginnen. Ik moet je waarschuwen, aangezien ik dit tientallen keren op mijn werk heb gedaan: de macro zal ertoe leiden dat de wijzigingen alleen worden aangebracht in de *body* van het Word-document; kop-, voetteksten en titeltekst/alt-tekst worden uitgesloten. Als u tekst in de bovengenoemde delen heeft die moet worden vervangen, moet u een standaard zoeken/vervangen voor afzonderlijke documenten uitvoeren.
Deze opmerking is gemaakt door de moderator op de site
Kan deze VBA-techniek worden aangepast om te werken voor Publisher-bestanden? Bijvoorbeeld door *.docx te veranderen in *.pub ?
Deze opmerking is gemaakt door de moderator op de site
Wauw, je bent een heilige voor het samenstellen van deze macro! Ik luister naar 'Epic Battle Music' op Songza omdat ik zo'n amateur Macro-smid ben en het is de enige manier waarop ik de pijn en het lijden van het maken van programmeerspreuken kan doorstaan. Hoe dan ook, mijn punt dat ik ga maken, is dat ik vrijdag veel tijd heb besteed aan het oplossen van problemen met het deel waar je de tekst die je wilt vinden hebt ingevoerd en de tekst die je wilt vervangen - ik begreep dit deel niet helemaal in termen van waar ik mijn "vind" woordtekst en "vervang" woordtekst plaats: [quote]Opmerking: u kunt de Text = "search", Replacement.Text = "find" wijzigen om de inhoud te specificeren die moet worden doorzocht en de inhoud ter vervanging aan te vragen. [/quote] Ik heb dit vandaag opnieuw gelezen en ik wil respectvol verduidelijken voor andere niet-ingewijden van programmeren - in het gedeelte van VBA waar je de originele programmeertaal hebt gekopieerd en geplakt, zorg ervoor dat je een einde maakt 'na de wat en een ' na de die al met Countr werken (zie voorbeeld hieronder) - in mijn voorbeeld ben ik op zoek naar meerdere documenten om Pizza te vervangen door Stromboli: .Text = "Pizza" 'Find What' .Replacement.Text = "Stromboli" 'Vervangen door'
Deze opmerking is gemaakt door de moderator op de site
Als ik het start, wordt het opgehangen en stopt het bij: Application.Run macroname:="NEWMACROS" en wanneer ik erin stap, vertelt het me dat ik een compileerfout heb: genoemd argument niet gevonden. Wat nu?
Deze opmerking is gemaakt door de moderator op de site
Werkte als een zonnetje en het scheelde mij veel tijd en moeite. Bedankt.
Deze opmerking is gemaakt door de moderator op de site
Ik krijg dit nog steeds niet werkend op mijn pc met Windows 7. Als ik het uitvoer, krijg ik een foutmelding op de regel: -Windows(GetStr(j)). Activeer het foutbericht. is: -Compileerfout: -Sub of functie niet gedefinieerd Enig idee waarom? En hoe het te repareren?
Deze opmerking is gemaakt door de moderator op de site
Dit is wat uiteindelijk voor mij werkte. Ik hoop dat het helpt. Ik heb deze macro toegevoegd aan een word-bestand. Het zal alle geselecteerde documenten vervangen (u kunt er zoveel selecteren als u wilt) wanneer het bestandsdialoogvenster geopend is. Het werkt niet op submappen, dus ik heb elke map in de bestandsstructuur afzonderlijk gedaan, maar het werkte. Het is misschien niet de beste oplossing, maar het werkt in ieder geval. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr (1 To 100) As String '100 bestanden is het maximum om deze code toe te passen Bij fout Hervatten Volgende Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Wijzig deze bestandsextensie in het relevante documenttype. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Stap 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)). Activeer selectie. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Sectie vervolgens een van de secties van de code die moet worden gevolgd.
Deze opmerking is gemaakt door de moderator op de site
U voegt dan een van de volgende twee secties toe, afhankelijk van of het een test of een hyperlink is die moet worden vervangen '~~> Deze sectie zal, indien niet gecommentarieerd, tekst vervangen - SLECHTS ÉÉN VAN DE TWEE SECTIES KAN ER EENMAAL GEEN COMMENTAAR WORDEN gegeven met Selection.Find .Text = " http://www.google.co.uk" 'Find What .Replacement.Text = "http://www.google.com" 'Vervangen door .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Application.Run macroname:="NEWMACROS" ActiveDocument.Up Next ActiveDocument.Up Next Active.Find.Execute = True End With MsgBox "operation end, please view", vbInformation '~~> Deze sectie zal, indien niet gecommentarieerd, hyperlinks vervangen 'For i = 1 To doc.Hyperlinks.Count' 'Als de hyperlink overeenkomt. ' If LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Dan ' 'Wijzig het adres van de link. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Wijzig desgewenst de weergavetekst van de links. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next' Application.ScreenUpdating = True 'Einde met 'MsgBox "operatie einde, gelieve te bekijken", vbInformation End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo Pia, ik probeer je script uit te voeren voor het vervangen van hyperlinks, maar ik krijg fouten. Is er een kans dat je het script voor het vervangen van hyperlinks in 1 stuk kunt plaatsen? Ik moet iets verprutsen als ik je code probeer te patchen.
Deze opmerking is gemaakt door de moderator op de site
Het loopt alleen over geselecteerde bestanden en bestanden mogen zich slechts in één map bevinden. Dit wordt uitgevoerd als een macro in een Word-document. Het wordt uitgevoerd door op een knop te klikken. Het werkt alleen Word-doc's bij. Hoop dat dit helpt. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr (1 To 100) As String '100 bestanden is het maximum om deze code toe te passen Bij fout Hervatten Volgende Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Wijzig deze bestandsextensie in het relevante documenttype. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Stap 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)). Activeer selectie. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Als de hyperlink overeenkomt. If LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Dan 'Wijzig het adres van de links. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Wijzig de weergavetekst van de links indien gewenst. doc.Hyperlinks(i).TextToDisplay = "http://www.google.co.uk" End If Next Application.Run macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox " operatie einde, gelieve te bekijken", vbInformation End Sub
Deze opmerking is gemaakt door de moderator op de site
Dit werkte perfect en bespaarde me zoveel tijd. Dank u!
Deze opmerking is gemaakt door de moderator op de site
Hallo, Dit werkte prima voor het woord in de hoofdtekst van het document, maar verving niet hetzelfde woord in de koptekst. Eventuele ideeën. Bedankt
Deze opmerking is gemaakt door de moderator op de site
Ik wil de opmaak van de vervangende tekst wijzigen. dwz "Pizza" moet worden vervangen door "Burger". Hoe kan het worden bereikt?
Deze opmerking is gemaakt door de moderator op de site
Big THX 4 de code... maar heb ook dat prblm met de headers... geen verandering Alvast bedankt
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor het plaatsen van dit! Ik heb een paar tests uitgevoerd en het voor mij werkend gekregen; het werkt echter om de een of andere reden niet op tekst in kop- en voetteksten. Is hier een oplossing voor?
Deze opmerking is gemaakt door de moderator op de site
Het spijt me, maar ik heb geen idee over de headers of het formaat. Het was niet iets dat ik in mijn code hoefde op te nemen. Ik had dit zelf nog nooit eerder gebruikt en de code die ik heb gepost, is overgenomen uit de originele code hierboven en vervolgens getweet met code die in andere zoekopdrachten is gevonden totdat deze werkte. Het spijt me dat ik niet meer kan helpen.
Deze opmerking is gemaakt door de moderator op de site
Ik heb het de afgelopen minuten getest en het is echt een wonder, bedankt! Ik moet verschillende 'zoek en vervang'-routines uitvoeren voor verschillende bestanden. Tientallen routines voor tientallen bestanden. Is er een manier om de module te 'opslaan', zodat ik deze niet telkens opnieuw op het VBA-scherm hoef te plakken als ik een nieuwe routine moet uitvoeren?
Deze opmerking is gemaakt door de moderator op de site
Is het mogelijk om deze macro aan te passen om meerdere 'zoek en vervang'-houdingen tegelijk uit te voeren? Er zijn verschillende woorden en zinnen die ik moet vervangen en vanaf nu moet ik de VBA-code voor elke instantie opnieuw invoeren. Ik ben een noob wat die dingen betreft
Deze opmerking is gemaakt door de moderator op de site
Deze code heeft me zoveel tijd bespaard... dus bedankt! Eén ding is echter: is er een manier om het aantal woorden dat de macro vindt/vervangt te vergroten? Ik moet meerdere alinea's tegelijk vinden/vervangen en de macro lijkt een limiet van ongeveer 200 tekens te hebben.
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties