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

Kako iskati in zamenjati več datotek v besedilu?

Če imate več deset datotek z besedami, ki vsebujejo isto vsebino (na primer glava, noga, nekatere posebne besede ali številka), morate v Wordu v teh dokumentih zamenjati isto vsebino. Kako bi vam bilo lažje hitro to narediti? Seveda lahko te datoteke odprete eno za drugo, da zamenjate isto vsebino, vendar bo to zamudno in težavno. Ta vadnica vam bo pokazala težaven način zamenjave iste vsebine v več dokumentih v Wordu hkrati.

Poiščite in zamenjajte besedila v več besednih dokumentih hkrati s kodo VBA
Preprosto poiščite in zamenjajte različna besedila v več dokumentih hkrati s programom Kutools for Word


Poiščite in zamenjajte besedila v več besednih dokumentih hkrati s kodo VBA

1. Pritisnite druga + F11 da odprete Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite VstaviModuli, nato v okno modula kopirajte naslednjo kodo VBA.

Koda VBA: Iskanje in zamenjava iste vsebine v več dokumentih hkrati

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. Pritisnite F5 tipko za zagon kode.

4. Na odprtju Brskanje poiščite in izberite dokumente, ki jih boste našli, in zamenjajte besedilo v njih, nato pa kliknite OK . Oglejte si posnetek zaslona:

5. V prvem Kutools za Word v pogovorno okno vnesite besedilo, ki ga boste našli med dokumenti, v Našli kaj in nato kliknite OK gumb.

6. V drugem Kutools za Word v pogovorno okno vnesite besedilo, ki ga boste zamenjali, in kliknite OK gumb.

8. Kliknite OK v naslednjem Microsoft Word pogovorno okno za dokončanje iskanja in zamenjave.

V tem primeru se vse besede "Word" v izbranih dokumentih hkrati nadomestijo z "Excel".


Preprosto poiščite in zamenjajte različna besedila v več dokumentih hkrati s programom Kutools for Word

Tu toplo priporočam Serijsko iskanje in zamenjava značilnost Kutools za Word. S to funkcijo lahko istočasno enostavno poiščete in zamenjate različna besedila v več Wordovih dokumentih. Poglejmo, kako uporabiti to funkcijo za iskanje in zamenjavo besedil med dokumenti.

Kutools za Word : z več kot 100 priročnimi dodatki za Word, brezplačno poskusite brez omejitev 60 dni.

1. Prosim kliknite Kutools Plus > Serijsko iskanje in zamenjava da omogočite funkcijo.

2. V Ljubljani Serijsko iskanje in zamenjava pogovorno okno, nastavite na naslednji način.

  • 2.1) Kliknite Dodaj vrstico gumb pod Poišči in zamenjaj zavihek;
  • 2.2) V ustvarjenih poljih vrstic:
A. Vnesite besedilo, ki ga najdete, v besedilno polje v Najdi stolpec
B. V polje za besedilo vnesite besedilo, s katerim ga boste zamenjali Zamenjaj stolpec;
C. Določite vrsto iskanja, kjer najti besedilo, in barvo, ki bo označila besedilo, kot ga potrebujete. V tem primeru izberem Popolno ujemanje besed, Glavni dokument in določeno barvo Vrsta iskanja, Poišči v in Označite stolpci;
  • 2.3) Ponovite koraka 2.1 in 2.2, da dodate več besedil, ki jih boste našli in zamenjali;
  • 2.4) Kliknite  gumb v Vrsta datoteke razdelek za dodajanje Wordovih dokumentov, v katerih boste našli in zamenjali besedila;
  • 2.5) Kliknite Zamenjaj or Najdi . Oglejte si posnetek zaslona:

Opombe:
1. Če kliknete Najdi , bodo vsi rezultati iskanja prikazani pod Rezultat predogleda zavihek. Po predogledu rezultatov, če želite zamenjati vsa besedila, kliknite Poišči in zamenjaj zavihek. V nasprotnem primeru zaprite pogovorno okno.

2. Če kliknete Zamenjaj , bodo vsa določena besedila takoj zamenjana z novimi, rezultati pa bodo prikazani tudi pod Rezultat predogleda tab.

3. Če v koraku 2 določite barve za poudarjanje, bodo vsa nadomeščena besedila označena z določenimi barvami in jih boste lahko hitro našli v dokumentih.

3. Zaprite Serijsko iskanje in zamenjava pogovorno okno

Za več informacij o tej funkciji prosimo Klikni tukaj....

Če želite brezplačno preskusiti to orodje, pojdite na brezplačno prenesete programsko opremo najprej in nato nadaljujte z uporabo postopka v skladu z zgornjimi koraki.


Priporočena orodja za produktivnost besed

 

Kutools za Word - Več kot 100 naprednih funkcij za Word, prihranite 50% časa

  • Zapletene in ponavljajoče se operacije je mogoče enkrat obdelati v nekaj sekundah.
  • V Wordov dokument hkrati vstavite več slik v mape.
  • Združite in združite več datotek Word v mapah v eno z želenim vrstnim redom.
  • Trenutni dokument razdelite na ločene dokumente glede na naslov, prelom odseka ali druga merila.
  • Pretvarjanje datotek med dokumenti Doc in Docx, Docx in PDF, zbirka orodij za pogoste pretvorbe in izbiro itd. ...
Komentarji (70)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Bo vprašal, kje se nahajajo zadevni dokumenti? Ali pa morajo biti vsi dokumenti odprti?
Ta komentar je moderator na spletnem mestu minimiziral
Ko ga zaženete, se privzeto odpre pogovorno okno »Odpri datoteko« v »Moji dokumenti«. Pomaknite se do mape, ki vsebuje Wordove datoteke, ki jih želite spremeniti. Lahko pritisnete "Ctrl" + "A", da izberete vse datoteke, ali pridržite tipko "Ctrl", medtem ko izbirate določene datoteke. Kliknite na "Odpri" ali pritisnite "Enter" in opazujte, kako se zgodi čarovnija.
Ta komentar je moderator na spletnem mestu minimiziral
Da, imam isto vprašanje, saj mislim, da bi bilo to koristno, vendar mu želim povedati, naj gleda samo v določene mape.
Ta komentar je moderator na spletnem mestu minimiziral
Ko zaženete makro, se odpre okno "Odpri". Pomaknite se do mape, ki vsebuje datoteke, ki jih morate spremeniti, nato kliknite enkrat na prvo, nato, medtem ko držite tipko "Ctrl", kliknite na druge datoteke, ki prav tako zahtevajo iskanje/zamenjavo. Če vse datoteke v mapi potrebujejo dejanje, samo pritisnite tipki "Ctrl" in "A". Nato kliknite na "Odpri" ali pritisnite tipko "Enter" in makro se bo začel. Moral bi vas opozoriti, saj sem to izvedel več desetkrat pri delu: Makro bo povzročilo spremembe samo v *telu* dokumenta Word; glave, noge in naslovno besedilo/nadomestno besedilo bodo izključeni. Če imate besedilo v prej omenjenih delih, ki ga je treba zamenjati, boste morali izvesti standardno iskanje/zamenjavo v posameznih dokumentih.
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče to tehniko VBA prilagoditi tako, da deluje za datoteke Publisher? Na primer s spreminjanjem *.docx v *.pub?
Ta komentar je moderator na spletnem mestu minimiziral
Vau, svetnik si, da sestaviš ta makro! Poslušam 'Epic Battle Music' na Songzi, ker sem tako amaterski kovač makrov in je edini način, da se prebijem skozi bolečino in agonijo ustvarjanja programskih urokov. Kakorkoli že, moja poanta je, da sem v petek porabil veliko časa za odpravljanje težav v delu, kjer dejansko vnesete besedilo, ki ga želite najti, in vstavljanje besedila, ki ga želite zamenjati - tega dela nisem povsem razumel v izrazi, kam sem dal svoje besedilo besede "najdi" in besedilo besede "zamenjaj": [citat]Opomba: lahko spremenite Besedilo = "iskanje", Replacement.Text = "najdi", da določite vsebino, ki jo želite iskati, in vsebino zaprositi za zamenjavo. [/quote] Danes sem še enkrat prebral to in želim s spoštovanjem pojasniti za druge programerske neiniciative - v razdelku VBA, kjer ste kopirali in prilepili izvirni programski jezik, se prepričajte, da ste postavili konec » za kaj in ' za z (glej primer spodaj) - v mojem primeru iščem več dokumentov za zamenjavo pice s Stromboli: .Text = "Pizza" 'Najdi kaj' .Replacement.Text = "Stromboli" 'Zamenjaj z'
Ta komentar je moderator na spletnem mestu minimiziral
Ko ga zaženem, se prekine in se ustavi pri: Application.Run macroname:="NEWMACROS" in ko stopim vanj, mi pove, da imam napako pri prevajanju: imenovani argument ni najden. Kaj pa zdaj?
Ta komentar je moderator na spletnem mestu minimiziral
Deloval je kot čar in mi je prihranil veliko časa in truda. Hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Še vedno ne morem zagotoviti, da bi to delovalo v mojem računalniku z operacijskim sistemom Windows 7. Ko ga zaženem, dobim sporočilo o napaki v vrstici: -Windows(GetStr(j)). Aktivirajte sporočilo o napaki. je: -Napaka pri prevajanju: -Sub ali Funkcija ni definirana. Kakšna ideja, zakaj? In kako to popraviti?
Ta komentar je moderator na spletnem mestu minimiziral
To je tisto, kar mi je končno uspelo. Upam, da pomaga. Ta makro sem dodal v word datoteko. Ko je odprto pogovorno okno datoteke, bo zagnal zamenjavo vseh izbranih dokumentov (izberete jih lahko kolikor želite). Ne bo deloval na podmapah, zato sem naredil vsako mapo v strukturi datotek posebej, vendar je delovalo. Morda ni najboljša rešitev, vendar vsaj deluje. Private Sub CommandButton1_Click() Dim MyDialog kot FileDialog, GetStr(1 do 100) As String '100 datotek je največja dovoljena uporaba te kode Ob napaki Nadaljuj Naprej Nastavite MyDialog = Application.FileDialog(msoFileDialogFilePicker) z MyDialog .~Clear'~Filters'~Clear'. Spremenite to razširitev datoteke na ustrezno vrsto dokumenta. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 Če .Show = -1 Potem za vsak stiSelectedItem v .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 Konec, če Application.ScreenUpdating = False Za j = 1 do i Korak 1 Nastavite doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Aktivirajte izbor. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Oddelek, nato enega ali drugega odsekov kode, ki jim sledi.
Ta komentar je moderator na spletnem mestu minimiziral
Nato dodate enega od naslednjih dveh razdelkov, odvisno od tega, ali gre za preizkusno ali hiperpovezavo, ki jo je treba zamenjati '~~> Ta razdelek, če ni komentiran, bo nadomestil besedilo - SAMO EN OD DVEH RAZDELKOV SE LAHKO NEKOMENTIRIRA NA ENKRAT Z izbiro. Find .Text = " http://www.google.co.uk" 'Najdi kaj .Replacement.Text = "http://www.google.com" 'Zamenjaj z .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 Application.Run Application.Run Application.Run Next Application.Run Active Application.Run Active.Screen.UMACreating Application.Run Next Active. = True End Z MsgBox "operacija konec, prosim poglejte", vbInformation '~~> Ta razdelek, če ni komentiran, bo nadomestil hiperpovezave 'Za i = 1 Do doc.Hyperlinks.Count ' 'Če se hiperpovezava ujema. ' Če je LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Nato ' 'Spremenite naslov povezav. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Če želite, spremenite prikazno besedilo povezav. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' Konec, če ' Naprej 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpd' = True 'End With 'MsgBox "operacija konec, prosim poglejte", vbInformation End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Pia, poskušam zagnati vaš skript za zamenjavo hiperpovezav, vendar dobivam napake. Ali lahko objavite skript za zamenjavo hiperpovezav v enem kosu? Verjetno sem nekaj zamotil, ko poskušam zakrpati vašo kodo.
Ta komentar je moderator na spletnem mestu minimiziral
Deluje samo na izbranih datotekah in datoteke morajo biti samo v eni mapi. To se izvaja kot makro v word doc. Zažene se s klikom na gumb. Posodablja samo word doc. Upam, da bo to pomagalo. Private Sub CommandButton1_Click() Dim MyDialog kot FileDialog, GetStr(1 do 100) As String '100 datotek je največja dovoljena uporaba te kode Ob napaki Nadaljuj Naprej Nastavite MyDialog = Application.FileDialog(msoFileDialogFilePicker) z MyDialog .~Clear'~Filters'~Clear'. Spremenite to razširitev datoteke na ustrezno vrsto dokumenta. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 Če .Show = -1 Potem za vsak stiSelectedItem v .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 Konec, če Application.ScreenUpdating = False Za j = 1 do i Korak 1 Nastavite doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Aktivirajte izbor. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 Za doc.Hyperlinks.Count 'Če se hiperpovezava ujema. Če je LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Nato "Spremeni naslov povezave. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Če želite, spremenite prikazno besedilo povezav. doc.Hyperlinks(i).TextToDisplay = "http://www.google.co.uk" Konec, če je naslednja aplikacija. Zaženi macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox " konec operacije, poglejte", vbInformation End Sub
Ta komentar je moderator na spletnem mestu minimiziral
To je delovalo odlično in mi je prihranilo toliko časa. Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, to je odlično delovalo za besedo v telesu dokumenta, vendar ni nadomestilo iste besede v glavi. Kaj idej. Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Želim spremeniti obliko nadomestnega besedila. "Pizza" je treba nadomestiti z "Burger". Kako je to mogoče doseči?
Ta komentar je moderator na spletnem mestu minimiziral
Big THX 4 kodo... pa tudi tisti prblm z glavami... brez sprememb Hvala vnaprej
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, ker ste to objavili! Opravil sem nekaj testov in mi je uspelo; vendar iz nekega razloga ne deluje na besedilo v glavah in nogah. Ali obstaja rešitev za to?
Ta komentar je moderator na spletnem mestu minimiziral
Oprosti, ampak nimam pojma o glavah ali formatu. To ni bilo nekaj, kar sem moral vključiti v svojo kodo. Tega še nikoli nisem uporabljal, koda, ki sem jo objavil, pa je bila vzeta iz zgornje prvotne kode in nato prilagojena z uporabo kode, najdene v drugih iskanjih, dokler ni delovala. Žal mi je, da ne morem več pomagati.
Ta komentar je moderator na spletnem mestu minimiziral
Preizkušal sem ga zadnjih nekaj minut in res je čudno, hvala! Za več datotek moram izvesti več rutin "poišči in zamenjaj". Na desetine rutin za desetine datotek. Ali obstaja način za 'shranitev' modula, da mi ga ni treba znova prilepiti na zaslon VBA vsakič, ko moram izvesti novo rutino?
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče prilagoditi ta makro tako, da izvede več stališč "poišči in zamenjaj" hkrati? Obstaja več besed in fraz, ki jih moram zamenjati, od zdaj pa moram znova vstaviti kodo VBA za vsak primer. Jaz sem noob glede teh stvari
Ta komentar je moderator na spletnem mestu minimiziral
Ta koda mi je prihranila toliko časa ... zato hvala! Ena stvar - ali obstaja način za povečanje števila besed, ki jih makro najde/zamenja? Moram najti/zamenjati več odstavkov hkrati in zdi se, da ima makro omejitev približno 200 znakov.
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL