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

Jak vyhledávat a nahrazovat více souborů ve Wordu?

Pokud máte několik desítek souborů slov, které obsahují stejný obsah (například záhlaví, zápatí, některá speciální slova nebo číslo), a musíte nahradit stejný obsah v těchto dokumentech v aplikaci Word. Jak by pro vás bylo snazší to udělat rychle? Určitě můžete tyto soubory otevírat jeden po druhém, abyste nahradili stejný obsah, ale bude to časově náročné a problematické. Tento výukový program vám ukáže složitý způsob, jak nahradit stejný obsah ve více dokumentech najednou.

Najděte a nahraďte texty ve více slovních dokumentech současně pomocí kódu VBA
Pomocí aplikace Kutools pro Word můžete snadno najít a nahradit různé texty ve více dokumentech současně


Najděte a nahraďte texty ve více slovních dokumentech současně pomocí kódu VBA

1. lis Další + F11 k otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko VložitModul, potom zkopírujte následující kód VBA do okna modulu.

Kód VBA: Hledání a nahrazování stejného obsahu ve více dokumentech najednou

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. zmáčkni F5 klíč ke spuštění kódu.

4. V otvoru Procházet V okně vyhledejte a vyberte dokumenty, ve kterých najdete a nahradíte text, a poté klikněte na ikonu OK knoflík. Viz screenshot:

5. V první Kutools pro Word Do dialogového okna zadejte text, který najdete v dokumentech Najít to, co a poté klikněte na OK .

6. Ve druhé Kutools pro Word dialogové okno, zadejte text, který nahradíte, a klikněte na OK .

8. Klepněte na tlačítko OK tlačítko v dalším Microsoft Word dialogové okno pro dokončení hledání a nahrazení.

V takovém případě budou všechna slova „Word“ ve vybraných dokumentech současně nahrazena slovy „Excel“.


Pomocí aplikace Kutools pro Word můžete snadno najít a nahradit různé texty ve více dokumentech současně

Zde velmi doporučujeme Dávkové hledání a nahrazení vlastnost Kutools pro Word. Díky této funkci můžete snadno najít a nahradit různé texty ve více dokumentech Word najednou. Podívejme se, jak použít tuto funkci k vyhledání a nahrazení textů v dokumentech.

Kutools pro Word : s více než 100 užitečnými doplňky Wordu, zdarma vyzkoušet bez omezení do 60 dnů.

1. Klikněte prosím Kutools Plus > Dávkové hledání a nahrazení pro povolení této funkce.

2. V Dávkové hledání a nahrazení V dialogovém okně proveďte následující konfiguraci.

  • 2.1) Klikněte na Přidat řádek pod tlačítkem Najít a nahradit karta;
  • 2.2) V polích vytvořených řádků:
A. Zadejte text, který najdete do textového pole v Najít sloupec
B. Zadejte text, který nahradíte, do textového pole v Nahradit sloupec;
C. Určete typ hledání, kde najdete text a barvu pro zvýraznění textu podle potřeby. V tomto případě vyberu Plná shoda slov, Hlavní dokument a určitou barvu z Typ vyhledávání, Nalézt v a Zdůraznit sloupce;
  • 2.3) Opakujte kroky 2.1 a 2.2 a přidejte další texty, které najdete a nahradíte;
  • 2.4) Klikněte na  tlačítko v Typ souboru sekce pro přidání dokumentů Wordu, ve kterých najdete a nahradíte texty;
  • 2.5) Klikněte na Nahradit or Najít knoflík. Viz screenshot:

Poznámky:
1. Pokud kliknete na Najít tlačítko, všechny výsledky hledání se zobrazí pod Výsledek náhledu záložka. Pokud chcete po náhledu výsledků nahradit všechny texty, klikněte na ikonu Najít a nahradit záložka. Jinak zavřete dialogové okno.

2. Pokud kliknete na Nahradit Tlačítko, všechny zadané texty budou okamžitě nahrazeny novými a výsledky se také zobrazí pod Výsledek náhledu Karta.

3. Pokud v kroku 2 zadáte barvy zvýraznění, všechny nahrazené texty budou zvýrazněny určenými barvami a můžete je snadno najít v dokumentech.

3. Zavři Dávkové hledání a nahrazení Dialogové okno

Další informace o této funkci získáte klikněte zde....

Chcete-li mít bezplatnou zkušební verzi tohoto nástroje, přejděte na software si stáhněte zdarma nejprve a poté přejděte k použití operace podle výše uvedených kroků.


Doporučené nástroje produktivity slov

 

Kutools pro Word - více než 100 pokročilých funkcí pro Word, ušetříte 50% času

  • Složité a opakované operace lze provádět jednorázově během několika sekund.
  • Vložte více obrázků do složek do dokumentu Word najednou.
  • Sloučte a zkombinujte více souborů Wordu napříč složkami do jednoho v požadovaném pořadí.
  • Rozdělte aktuální dokument na samostatné dokumenty podle záhlaví, zalomení sekce nebo jiných kritérií.
  • Převádějte soubory mezi Doc a Docx, Docx a PDF, kolekci nástrojů pro běžné převody a výběr atd. ...
Komentáře (69)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Bude se ptát, kde se dotyčné dokumenty nacházejí? Nebo musí být všechny dokumenty otevřené?
Tento komentář byl moderátorem webu minimalizován
Když jej spustíte, ve výchozím nastavení se otevře dialogové okno "Otevřít soubor" na "Dokumenty". Přejděte do složky obsahující soubory aplikace Word, ve kterých chcete provést změny. Můžete stisknout "Ctrl" + "A" pro výběr všech souborů nebo podržet klávesu "Ctrl" při výběru určitých souborů. Klikněte na "Otevřít" nebo stiskněte "Enter" a sledujte, jak se kouzlo děje.
Tento komentář byl moderátorem webu minimalizován
Ano, mám stejnou otázku, protože si myslím, že by to bylo užitečné, ale chci jí říci, aby se díval pouze do určitých složek.
Tento komentář byl moderátorem webu minimalizován
Po spuštění makra se otevře okno "Otevřít". Přejděte do složky, která obsahuje soubory, ve kterých je třeba provést změnu, poté klikněte jednou na první z nich a poté se stisknutou klávesou „Ctrl“ klikněte na další soubory, které také vyžadují hledání/nahrazení. Pokud všechny soubory ve složce vyžadují akci, stačí stisknout klávesy "Ctrl" a "A". Poté klikněte na "Otevřít" nebo stiskněte klávesu "Enter" a makro se spustí. Měl bych vás varovat, protože jsem to v práci provedl desítkykrát: Výsledkem makra budou změny pouze v *tělu* dokumentu Word; záhlaví, zápatí a text nadpisu/alt-text budou vyloučeny. Pokud máte ve výše uvedených částech text, který je třeba nahradit, budete muset provést standardní hledání/nahrazení napříč jednotlivými dokumenty.
Tento komentář byl moderátorem webu minimalizován
Mohla by být tato technika VBA přizpůsobena pro práci se soubory aplikace Publisher? Například změnou *.docx na *.pub?
Tento komentář byl moderátorem webu minimalizován
Páni, jsi svatý, že jsi dal dohromady tohle makro! Poslouchám 'Epic Battle Music' na Songze, protože jsem takový amatér Macro-smith a je to jediný způsob, jak se dostat přes bolest a agónii při vytváření programovacích kouzel. Každopádně chci upozornit na to, že jsem v pátek strávil spoustu času odstraňováním problémů s částí, do které jste ve skutečnosti vložili text, který chcete najít, a vložením textu, který chcete nahradit - této části jsem úplně nerozuměl výrazy, kam jsem vložil text svého slova „najít“ a text slova „nahradit“: [quote]Poznámka: Můžete změnit text = „hledat“, Nahradit. Text = „najít“ a určit obsah, který má být prohledán, a obsah je třeba požádat o výměnu. [/quote] Dnes jsem si to znovu přečetl a rád bych to uctivě objasnil ostatním nezasvěceným programátorům - v sekci VBA, kam jste zkopírovali a vložili původní programovací jazyk, se ujistěte, že jste za znakem dali konec ' co a ' po s (viz příklad níže) - v mém příkladu hledám několik dokumentů, které nahradí pizzu Stromboli: .Text = "Pizza" 'Najít co' .Replacement.Text = "Stromboli" 'Nahradit za'
Tento komentář byl moderátorem webu minimalizován
Když to spustím, zavěsí se a zastaví se na: Application.Run macroname:="NEWMACROS" a když do toho vstoupím, oznámí mi to, že mám chybu kompilace: Named argument not found. Co teď?
Tento komentář byl moderátorem webu minimalizován
Fungovalo to jako kouzlo a ušetřilo mi to spoustu času a úsilí. Dík.
Tento komentář byl moderátorem webu minimalizován
Stále se mi to nedaří zprovoznit na mém PC se systémem Windows 7. Když to spustím, zobrazí se mi chybová zpráva na řádku: -Windows(GetStr(j)).Aktivovat Chybová zpráva. je: -Chyba kompilace: -Sub nebo Funkce není definována Máte představu proč? A jak to opravit?
Tento komentář byl moderátorem webu minimalizován
To je to, co se mi nakonec povedlo. Doufám, že to pomůže. Přidal jsem toto makro do souboru aplikace Word. Po otevření dialogového okna souboru spustí nahrazení všech vybraných dokumentů (můžete jich vybrat, kolik chcete). Nefunguje to na podsložkách, takže jsem udělal každou složku ve struktuře souborů jednotlivě, ale fungovalo to. Možná to není nejlepší řešení, ale alespoň to funguje. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 to 100) As String '100 files je maximum pro použití tohoto kódu Při chybě Pokračovat Další Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) S MyDialog .'~~>Clear Změňte tuto příponu souboru na příslušný typ dokumentu. .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 Krok 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Aktivujte výběr. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Sekce a poté buď jedna nebo druhá z částí kódu, které se mají následovat.
Tento komentář byl moderátorem webu minimalizován
Potom přidáte jednu z následujících dvou sekcí v závislosti na tom, zda se jedná o test nebo hypertextový odkaz, který má být nahrazen '~~> Tato sekce, pokud nebude komentována, nahradí text - POUZE JEDNU ZE DVOU SEKCÍ LZE ODKOMENTOVAT NAJEDNOU pomocí Selection.Find .Text = " http://www.google.co.uk" 'Najít co .Replacement.Text = "http://www.google.com" 'Nahradit .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = Pravda .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False Konec s Selection.Find.Execute Nahradit:=wdReplaceAll Application.Run macroname:="NEWCudating Application.Crea ActiveS. = True End With MsgBox "operation end, please view", vbInformation '~~> Tato sekce, pokud není komentována, nahradí hypertextové odkazy 'For i = 1 To doc.Hyperlinks.Count ' 'Pokud se hypertextový odkaz shoduje. ' If LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Pak ' 'Změňte adresu odkazů. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'V případě potřeby změňte zobrazovaný text odkazů. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpdating = True 'End With 'MsgBox "konec operace, prosím zobrazte", vbInformation End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj Pio, pokouším se spustit váš skript pro nahrazení hypertextových odkazů, ale dostávám chyby. Je nějaká šance, že můžete poslat skript pro nahrazení hypertextových odkazů v jednom kuse? Musím něco zamotat, když se snažím opravit váš kód.
Tento komentář byl moderátorem webu minimalizován
Běží pouze přes vybrané soubory a soubory musí být pouze v jedné složce. Toto se spouští jako makro ve wordu doc. Spouští se kliknutím na tlačítko. Aktualizuje pouze dokument Word doc Doufám, že to pomůže. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 to 100) As String '100 files je maximum pro použití tohoto kódu Při chybě Pokračovat Další Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) S MyDialog .'~~>Clear Změňte tuto příponu souboru na příslušný typ dokumentu. .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 Krok 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Aktivujte výběr. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Pokud se hypertextový odkaz shoduje. If LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Pak 'Změňte adresu odkazů. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'V případě potřeby změňte zobrazovaný text odkazů. doc.Hyperlinks(i).TextToDisplay = "http://www.google.co.uk" End If Next Application.Run macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox " konec operace, prosím zobrazte", vbInformation End Sub
Tento komentář byl moderátorem webu minimalizován
To fungovalo perfektně a ušetřilo mi to spoustu času. Děkuji!
Tento komentář byl moderátorem webu minimalizován
Dobrý den, toto fungovalo skvěle pro slovo v těle dokumentu, ale nenahradilo stejné slovo v záhlaví. Nějaké nápady. dík
Tento komentář byl moderátorem webu minimalizován
Chci změnit formát nahrazovaného textu. tj. "Pizza" musí být nahrazena "Hamburger". Jak toho lze dosáhnout?
Tento komentář byl moderátorem webu minimalizován
Velký THX 4 kód... ale také ten prblm s hlavičkami... žádná změna Předem díky
Tento komentář byl moderátorem webu minimalizován
Děkujeme, že jste to zveřejnili! Provedl jsem pár testů a podařilo se mi to; z nějakého důvodu však nefunguje s textem v záhlaví a zápatí. Existuje pro toto řešení?
Tento komentář byl moderátorem webu minimalizován
Omlouvám se, ale nemám ponětí o záhlaví nebo formátu. Nebylo to něco, co jsem potřeboval zahrnout do svého kódu. Nikdy předtím jsem to nepoužil a kód, který jsem zveřejnil, byl převzat z původního kódu výše a poté vylepšen pomocí kódu nalezeného v jiných vyhledáváních, dokud to nefungovalo. Je mi líto, že vám nemohu více pomoci.
Tento komentář byl moderátorem webu minimalizován
Posledních pár minut jsem to testoval a je to opravdu zázrak, děkuji! Potřebuji provést několik rutin „najít a nahradit“ pro několik souborů. Desítky rutin pro desítky souborů. Existuje způsob, jak „uložit“ modul, abych jej nemusel znovu vkládat na obrazovku VBA pokaždé, když potřebuji provést novou rutinu?
Tento komentář byl moderátorem webu minimalizován
Je možné toto makro vyladit tak, aby provádělo více postojů „najít a nahradit“ najednou? Existuje několik slov a phareses, které musím nahradit, a nyní musím znovu vložit kód VBA pro každou instanci. V těchto věcech jsem noob
Tento komentář byl moderátorem webu minimalizován
Tento kód mi ušetřil tolik času... takže díky! Jedna věc však - existuje nějaký způsob, jak zvýšit počet slov, která makro najde/nahradí? Potřebuji najít/nahradit více odstavců najednou a zdá se, že makro má limit přibližně 200 znaků.
Zatím zde nejsou žádné komentáře
Načíst další
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění