Tips: Andra språk är Google-översatta. Du kan besöka English version av den här länken.
Logga in
x
or
x
x
Registrera
x

or

Hur söker och ersätter du flera filer i ord?

Om du har flera dussinordfiler som innehåller samma innehåll (till exempel Header, sidfot, några speciella ord eller nummer), och du måste ersätta samma innehåll över dessa dokument i Word. Hur skulle det bli lättare för dig att få det gjort snabbt? Visst kan du öppna dessa filer en efter en för att ersätta samma innehåll, men det blir tidskrävande och besvärligt. Denna handledning visar dig ett knepigt sätt att ersätta samma innehåll i flera dokument i Word samtidigt.

Hitta och ersätt texter över flera orddokument samtidigt med VBA-kod


Kombinera / sammanfoga flera dokument till en enkelt:

De Sammanfoga dokument nytta av Kutools för Word kan hjälpa dig att kombinera flera dokument till en snabbt. Du behöver bara:

  • Välj de dokument du kommer att kombinera i en;
  • Ange brytningen mellan varje kombinerat dokument;
  • Börja sammanslagning. Se skärmdump:

Kutools för Word: med mer än 100 praktiska Word-tillägg, gratis att prova utan begränsning i 30 dagar. Ladda ner och gratis test nu!

Kutools för Word: Lägg till 100 nya avancerade funktioner till Word 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Fliken Office: Gör det möjligt Tabbed redigering och bläddring i Office, Precis som Chrome, Firefox, IE 8 / 9 / 10.
Klassisk meny för Office: Ta med gamla kontoret 2003 tillbaka till Office 2007, 2010, 2013, 2016 och 2019.

Hitta och ersätt texter över flera orddokument samtidigt med VBA-kod

1. Tryck andra + F11 att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Infoga > Modulerna, kopiera sedan följande VBA-kod till modulfönstret.

VBA-kod: Sökning och ersättning av samma innehåll i flera dokument samtidigt

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. tryck på F5 nyckeln för att köra koden.

4. I öppningen Bläddra fönstret, hitta och välj dokumenten du hittar och ersätt text inuti, och klicka sedan på OK knapp. Se skärmdump:

5. I den första Kutools för Word dialogrutan anger du texten som du hittar i dokument i Hitta det rutan och klicka sedan på OK knapp.

6. På sekunden Kutools för Word dialogrutan anger du texten du ska ersätta med och klickar på OK knapp.

8. Klicka på OK knappen i nästa Microsoft Word dialogrutan för att slutföra hitta och ersätta.

I så fall ersätts alla ord "Word" i utvalda dokument samtidigt med "Excel".


Fliken Office - Tabbed Browsing, Redigering och hantering av flera dokument i Word:

Fliken Office ger flikgränssnittet som visas i webbläsare som Google Chrome, Internet Explorer nya versioner och Firefox till Microsoft Word. Det kommer vara ett tidsbesparande verktyg och irreplaceble i ditt arbete. Se nedan demo:

Klicka för gratis provning av Office-fliken!




Kutools för Word

Mer än 100 avancerade funktioner för Word 2003, 2007, 2010, 2013, 2016 och 2019

shot-kutools-700-225-KTE

Mer funktioner | Gratis nedladdning | Bara $ 39.00 för hundratals funktioner

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    3Cees · 1 years ago
    Thank you so much. You win the internet!

    This has saved me amending 360 documents.

    You're my favourite :)
  • To post as a guest, your comment is unpublished.
    WAK · 1 years ago
    worked like a charm for me. Thanks a billion!
  • To post as a guest, your comment is unpublished.
    CC · 1 years ago
    Merlin 4099, I am having trouble with the following portion of your code. I am new to VBA.:

    ' --------------- --------------- --------------- ----------
    ' Beginning Header Updates
    ' --------------- --------------- --------------- ----------
    Windows(GetStr(j)).Activate
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.Cle arFormatting

    If ActiveWindow.View.SplitSpecialwdPane None Then
    ActiveWindow.Panes(2).Close
    End If

    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
    ActivePane.View .Type = wdOutlineView Then

    Can anyone help me? I think I fixed most
    • To post as a guest, your comment is unpublished.
      blue_crayon · 1 years ago
      Was figuring out this issue myself, today.

      First, make sure you fix the line:

      Selection.Find.Replacement.Cle arFormatting

      To be:

      Selection.Find.Replacement.ClearFormatting

      Then, change the following line:

      If ActiveWindow.View.SplitSpecialwdPane None Then

      To look like this:

      If ActiveWindow.View.SplitSpecial <> wdPaneNone Then


      The code should look like this in the end:

      Windows(GetStr(j)).Activate
      Selection.Find.ClearFormatting
      Selection.Find.Replacement.ClearFormatting

      If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
      ActiveWindow.Panes(2).Close
      End If

      If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
      ActivePane.View.Type = wdOutlineView Then
      ActiveWindow.ActivePane.View.Type = wdPrintView
      End If
  • To post as a guest, your comment is unpublished.
    CC · 1 years ago
    Merlin4099, I am having trouble with the following portion of your code:

    ' --------------- --------------- --------------- ----------
    ' Beginning Header Updates
    ' --------------- --------------- --------------- ----------
    Windows(GetStr(j)).Activate
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.Cle arFormatting

    If ActiveWindow.View.SplitSpecialwdPane None Then
    ActiveWindow.Panes(2).Close
    End If

    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
    ActivePane.View .Type = wdOutlineView Then

    Can you or anyone else help me?

    Thanks!
  • To post as a guest, your comment is unpublished.
    DaveW · 1 years ago
    Thanks so much for posting this, absolute lifesaver!

    I notice that there is a line "MatchWildcards = False", which implies that it's possible to use wildcards in the search text - is that possible and, if so, what's the protocol?

    Thanks again!