Patarimas: kitos kalbos yra "Google" išverstos. Galite aplankyti English šios nuorodos versija.
Prisijungti
x
or
x
x
Registruotis
x

or

Kaip ieškoti ir keisti kelis failus žodžiu?

Jei turite keliasdešimt žodžių rinkmenų, kuriuose yra tas pats turinys (pvz., Antraštė, poraštė, kai kurie specialūs žodžiai ar skaičius), ir jums reikia pakeisti tą patį turinį šiuose dokumentuose Word. Kaip būtų lengviau tai padaryti greitai? Žinoma, tuos failus galite atidaryti vieną po kito, kad pakeistumėte tą patį turinį, bet tai bus daug laiko ir rūpesčių. Šioje pamokoje bus rodomas sudėtingas būdas vienu metu keisti tą patį turinį keliuose "Word" dokumentuose.

Rasti ir pakeisti tekstus keliuose žodžio dokumentuose vienu metu su VBA kodu


Sujungti / sujungti kelis dokumentus į vieną lengvai:

Itu Sujungti dokumentus naudingumas Kutools for Word gali padėti greitai sujungti kelis dokumentus. Jums tik reikia:

  • Pasirinkite dokumentus, kuriuos sujungsite į vieną;
  • Nurodykite pertrauką tarp kiekvieno sudėtinio dokumento;
  • Pradėti susijungimą. Žr. Ekrano kopiją:

Kutools for Word: su daugiau nei 100 patogiais "Word" priedais, galite laisvai bandyti be apribojimų 30 dienomis. Atsisiųskite ir nemokamai bandykite dabar!

Kutools for Word: Pridėkite 100 naujų papildomų funkcijų į Word 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Office Tab: Įjungti Redagavimas su tabulėmis ir naršymas "Office", Just Like Chrome, Firefox, IE 8 / 9 / 10.
Classic Menu for Office: Padarykite seną "Office" "2003 Back" išvaizdą į "Office 2007", "2010", "2013", "2016" ir "2019".

Rasti ir pakeisti tekstus keliuose žodžio dokumentuose vienu metu su VBA kodu

1. Paspauskite Kitas + F11 atidaryti "Microsoft Visual Basic for Applications" langas.

2. Viduje "Microsoft Visual Basic for Applications" langas, spustelėkite įsiuvas > Moduliai, tada nukopijuokite šį VBA kodą į modulio langą.

VBA kodas: vienu metu ieškoma ir pakeičia tą patį turinį keliuose dokumentuose

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. Paspauskite F5 raktas paleisti kodą.

4. Atidaryme Žmonės lange raskite ir pasirinkite dokumentus, kuriuos rasite ir pakeiskite tekstą viduje, tada spustelėkite OK mygtukas. Žr. Ekrano kopiją:

5. Pirmajame Kutools for Word Dialogo lange įveskite tekstą, kurį rasite dokumentuose Surasti ką laukelyje, tada spustelėkite mygtuką OK mygtuką.

6. Antrojoje Kutools for Word Dialogo lange įveskite tekstą, kurį pakeisite, ir spustelėkite OK mygtuką.

8. Spustelėkite OK mygtukas kitame Microsoft Word dialogo langas, norint užbaigti paiešką ir pakeisti.

Tokiu atveju visi žodžiai "žodis" pasirinktuose dokumentuose vienu metu pakeičiami "Excel".


Office Tab - "Word" skirtų kelių failų naršymas, redagavimas ir valdymas su tabu.

"Office" skirtukas palengvina skirtukų sąsają, kaip matyti interneto naršyklėse, tokiose kaip "Google Chrome", "Internet Explorer" naujos versijos ir "Firefox", skirtos "Microsoft Word". Tai valia būti laiko taupymo įrankis ir nepakeičiamas jūsų darbe. Žiūrėkite demo žemiau:

Spustelėkite, jei norite išbandyti Office Tab!




Kutools for Word

Daugiau nei 100 išplėstinės funkcijos Word 2003, 2007, 2010, 2013, 2016 ir 2019

shot-kutools-700-225-kte

Daugiau funkcijų | Nemokamas atsisiuntimas | Tik šimtai funkcijų - $ 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.
    Merlin409 · 3 years ago
    Sub Search_and_Replace()

    ' 500 files is the maximum applying this code
    Dim MyDialog As FileDialog, GetStr(1 To 500) As String

    On Error Resume Next

    Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)

    ' ---------------------------------------------------------------
    ' *.doc? allows processing of *.doc and *.docx files.
    ' ---------------------------------------------------------------
    With MyDialog
    .Filters.Clear
    .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 Step 1
    Set Doc = Documents.Open(FileName:=GetStr(j), Visible:=True)

    ' -------------------------------------------------------
    ' Beginning Header Updates
    ' -------------------------------------------------------
    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

    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
  • To post as a guest, your comment is unpublished.
    Merlin409 · 3 years ago
    I ran across this code while searching with DuckDuckGo. I modified it to suit my needs which were to other requests such as handling multiple search/replace in the header and multiple search/replace in the body. I also modified it handle the older .DOC format and the new .DOCX format. The modified code is pasted below. Feel free to use and improve!

    It is being sent in multiple parts because comments to this site can only be 2000 characters or less.
    ------------------------------------------------------------
  • To post as a guest, your comment is unpublished.
    Milo · 3 years ago
    This code has saved so much time for me... so, thanks!

    One thing though - is there any way to increase the number of words that the macro finds/replaces? I need to find/replace multiple paragraphs at once and the macro seems to have a limit of approximately 200 characters.
  • To post as a guest, your comment is unpublished.
    Mario · 4 years ago
    Is it possible to tweak this macro to perform multiple 'find and replace' stances at once? There are several words and phareses I need to replace and as of now I need to reinsert the VBA code for every instance.

    I'm a noob regarding those things
  • To post as a guest, your comment is unpublished.
    Moh · 4 years ago
    I've been testing it for the last few minutes and it's really a wonder, thank you!

    I need to perform several 'find and replace' routines for several files. Dozens of routines for dozens of files.

    Is there a way to 'save' the module so I don't need to paste it again on the VBA screen every time I need to perform a new routine?