Съвет: Други езици са преведени от Google. Можете да посетите English версия на тази връзка.
Влизане
x
or
x
x
Регистрирам
x

or

Как да търсите и замествате в няколко файла с думи?

Ако имате няколко дузини файла с думи, които съдържат едно и също съдържание (като заглавие, долен колонтитул, някои специални думи или цифри) и трябва да замените същото съдържание в тези документи в Word. Как е по-лесно да го направите бързо? Разбира се, можете да отваряте тези файлове един по един, за да замените същото съдържание, но това ще отнеме време и неприятности. Този урок ще ви покаже един сложен начин да замени едно и също съдържание в множество документи в Word наведнъж.

Намерете и заменете текстовете в множество текстови документи едновременно с VBA кода


Комбиниране / сливане на много документи в едно лесно:

Най- Обединяване на документи полезност на Kutools за Word може да ви помогне да комбинирате много документи в едно бързо. Трябва само да:

  • Изберете документите, които ще комбинирате в едно;
  • Посочете прекъсването между всеки комбиниран документ;
  • Започнете сливането. Вижте екранна снимка:

Kutools за Word: с повече от 100 удобни добавки за Word, безплатни, без ограничения в 30 дни. Изтеглете и безплатна пробна версия сега!

Kutools за Word: Добавяне на нови разширени функции на 100 към Word 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Таб на Office: Активиране Редактиране и сърфиране в табове в Office, Точно като Chrome, Firefox, IE 8 / 9 / 10.
Класическо меню за офис: Обърнете стария поглед на Office 2003 назад към Office 2007, 2010, 2013, 2016 и 2019.

Намерете и заменете текстовете в множество текстови документи едновременно с VBA кода

1. Натиснете Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули, след което копирайте следния код на VBA в прозореца на модула.

Код на VBA: Търсене и замяна на едно и също съдържание в няколко документа едновременно

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. Натисни F5 ключ за изпълнение на кода.

4. В отварянето паса прозорец, намерете и изберете документите, които ще намерите, и заменете текста вътре, след което кликнете върху OK бутон. Вижте екранна снимка:

5. В първия Kutools за Word , въведете текста, който ще намерите в документите в Намерете това, , след което щракнете върху OK бутон.

6. Във второто Kutools за Word в диалоговия прозорец, въведете текста, който ще замените, и кликнете върху OK бутон.

8. Щракнете върху OK бутон в следващия Microsoft Word диалоговия прозорец за завършване на намирането и замяната.

В този случай всички думи "Word" в избраните документи се заменят с "Excel" едновременно.


Таб на Office - Разглеждане в табове, редактиране и управление на няколко документа в Word:

Слотът на Office въвежда интерфейса с табове, както се вижда в уеб браузъри като Google Chrome, новите версии на Internet Explorer и Firefox в Microsoft Word. То ще да бъде инструмент, спестяващ време и незаменим във вашата работа. Вижте демонстрацията по-долу:

Кликнете за безплатно пробна версия на Office Tab!




Kutools за Word

Повече от 100 разширени функции за Word 2003, 2007, 2010, 2013, 2016 и 2019

снимани kutools-700-225-kte

Още функции | Безплатно сваляне | Само $ 39.00 за стотици функции

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!