Wskazówka: inne języki są tłumaczone przez Google. Możesz odwiedzić English wersja tego linku.
Zaloguj Się
x
or
x
x
Zarejestruj
x

or

Jak wyszukiwać i zastępować wiele plików w słowie?

Jeśli masz kilkadziesiąt plików tekstowych zawierających tę samą treść (takich jak nagłówek, stopka, specjalne słowa lub numer) i musisz zastąpić tę samą treść w tych dokumentach w programie Word. Jak byłoby ci łatwiej zrobić to szybko? Oczywiście, możesz otwierać te pliki jeden po drugim, aby zastąpić tę samą treść, ale będzie to czasochłonne i kłopotliwe. Ten samouczek pokaże Ci trudny sposób zastąpienia tej samej treści w wielu dokumentach w Wordzie naraz.

Znajdź i zamień teksty w wielu dokumentach Word jednocześnie z kodem VBA


Łatwe łączenie / scalanie wielu dokumentów w jeden:

. Scal dokumenty użyteczność Kutools dla Word może pomóc w szybkim połączeniu wielu dokumentów w jeden. Musisz tylko:

  • Wybierz dokumenty, które chcesz połączyć w jeden;
  • Określ odstęp między każdym połączonym dokumentem;
  • Zacznij scalać. Zobacz zrzut ekranu:

Kutools dla Word: dzięki ponad 100owi przydatnym dodatkom Word, możesz wypróbować bez ograniczeń w 30 dniach. Pobierz i bezpłatnie wersję próbną!

Kutools dla Word: Dodaj 100 Nowe funkcje zaawansowane do Worda 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Karta Office: Włączyć Edytowanie i przeglądanie w kartach w pakiecie OfficePodobnie jak Chrome, Firefox, IE 8 / 9 / 10.
Klasyczne menu dla biura: Przywróć stary wygląd pakietu Office 2003 do Office 2007, 2010, 2013, 2016 i 2019.

Znajdź i zamień teksty w wielu dokumentach Word jednocześnie z kodem VBA

1. naciśnij inny + F11 otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, następnie skopiuj poniższy kod VBA do okna Module.

Kod VBA: Wyszukiwanie i zastępowanie tej samej treści w wielu dokumentach jednocześnie

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. wciśnij F5 klucz do uruchomienia kodu.

4. W otwarciu Paść się okno, znajdź i wybierz dokumenty, które znajdziesz i zamień tekst w środku, a następnie kliknij OK przycisk. Zobacz zrzut ekranu:

5. Na początku Kutools dla Word okno dialogowe, wprowadź tekst, który znajdziesz w dokumentach do pliku Znajdź co , a następnie kliknij przycisk OK przycisk.

6. W sekundę Kutools dla Word W oknie dialogowym wpisz tekst, który chcesz zastąpić, i kliknij znak OK przycisk.

8. Kliknij OK przycisk w następnym Microsoft Word okno dialogowe, aby zakończyć wyszukiwanie i zastępowanie.

W tym przypadku wszystkie wyrazy "Word" w wybranych dokumentach są zastępowane przez "Excel" w tym samym czasie.


Karta Office - Przeglądanie w kartach, edycja i zarządzanie wieloma dokumentami w programie Word:

Office Tab wprowadza interfejs z kartami w przeglądarkach takich jak Google Chrome, nowe wersje przeglądarki Internet Explorer i Firefox do Microsoft Word. To będzie być narzędziem oszczędzającym czas i niezastąpionym w pracy. Zobacz poniżej demo:

Kliknij, aby pobrać bezpłatną wersję próbną pakietu Office!




Kutools dla Word

Więcej niż zaawansowane funkcje 100 dla Word 2003, 2007, 2010, 2013, 2016 i 2019

shot-kutools-700-225-kte

Więcej funkcji | Darmowe pobieranie | Tylko $ 39.00 dla setek funkcji

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.
    Tiago · 23 days ago
    Is it possible to replace in the headers of the word doc?
    • To post as a guest, your comment is unpublished.
      crystal · 20 days ago
      Hi Tiago,
      Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

      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"
      If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
      ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      End If
      ActiveDocument.Save
      ActiveWindow.Close
      Next
      Application.ScreenUpdating = True
      End With
      MsgBox "Operation end, please view", vbInformation
      End Sub
  • To post as a guest, your comment is unpublished.
    dsadasd · 23 days ago
    Is that possible to replace in the header of the word doc?
  • To post as a guest, your comment is unpublished.
    martinadam · 3 months ago
    Thanks for sharing this information with us.
    Word search and replace tool
  • To post as a guest, your comment is unpublished.
    nathalie · 5 months ago
    Works perfectly but is there a similar macro to change text in the header! because this does not work with this version!
    thanks
    • To post as a guest, your comment is unpublished.
      crystal · 20 days ago
      Hi,
      Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

      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"
      If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
      ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      End If
      ActiveDocument.Save
      ActiveWindow.Close
      Next
      Application.ScreenUpdating = True
      End With
      MsgBox "Operation end, please view", vbInformation
      End Sub
  • To post as a guest, your comment is unpublished.
    blds · 1 years ago
    Doesn't work for me on footers. e.g find FFSOSxxxx and replace with GGSOSxxxx, i can see this code is great for others pls help. :(