Už vás nebaví provádět opakující se úkoly v aplikaci Microsoft Word? V programu je pohřben výkonný automatizační nástroj, který vám může tyto úlohy vzít z rukou. Mluvíme o makrech, a ačkoli se tato funkce spoléhá na Microsoft Visual Basic for Applications (VBA), můžete ji použít, i když vám myšlenka kódování dává heebie-jeebies.

Kliknutím na tlačítko Word zaznamená vaše akce a vygeneruje makro, které můžete přehrávat tak často, jak chcete. Pokud jste dobrodružní, můžete snadno upravit makro pro další stupeň automatizace.

Zde vám ukážeme jeden jednoduchý, ale užitečný příklad: Jak automatizovat funkci Word Najít a nahradit.

Záznam makra

V tomto příkladu jste váženým prezidentem Společnosti pro ochranu starožitných zubních zařízení. Máte desítky dokumentů aplikace Word o historických zubních náhradách a podobných výrobcích, všechny s prominentním názvem společnosti. Pak najednou hlasování představenstva změnilo název na Dental Antiques Preservation League. Nyní potřebujete snadný způsob aktualizace dokumentů.

instagram viewer

Můžete začít s novým prázdným dokumentem nebo otevřít existující. Pokud jste to ještě neudělali, budete muset aktivovat kartu Vývojář.

Jít do Soubor> Možnosti> Přizpůsobit pás karet. Vpravo pod Hlavní záložky, zkontrolovat Vývojář volba. Vyberte OK a ukončete.

Nyní vytvořme naše makro.

  1. Klepněte na Vývojář> Záznam makra.
  2. Zobrazí se výzva k pojmenování makra. Zadejte „ChangeSocietyName“ nebo jakýkoli jiný název, který vám vyhovuje. Při pojmenovávání maker nepoužívejte mezery, tečky, vykřičníky a speciální znaky, jinak se zobrazí chybová zpráva. Můžete použít čísla, ale první znak musí být písmeno.
  3. Makro můžete přiřadit tlačítkové nebo klávesové zkratce, ale není to nutné. Pokud zvolíte tlačítko, Word vám umožní přidat jej na panel nástrojů Rychlý přístup. Můžete také přidat stručný popis makra.
  4. Klepněte na OKa Word nyní zaznamená vaše akce. Udeřil Ctrl + H vychovat Najít a nahradit dialog.
  5. Zadejte „Společnost pro ochranu starožitných zubních spotřebičů“ do vyhledávacího pole a „Dental Antique Preservation League“ v poli Nahradit.
  6. Klepněte na Vyměnit vše provést operaci Najít a nahradit. Toto je jediná akce, kterou chcete zaznamenat. Nezáleží na tom, zda makro skutečně nahradí nějaký text. Jde o to uložit jej pro další dokumenty.
  7. To je důležité: Klikněte Vývojář> Zastavit nahrávání. V opačném případě bude makro zahrnovat všechny následné akce.

Nyní se podívejme na vaši práci. Otevřete dokument obsahující název společnosti. Klepněte na Vývojář> Makra. Pokud dvakrát kliknete na ChangeSocietyName, Word automaticky provede operaci Najít a nahradit.

Spropitné: Při záznamu makra budete možná muset provést akci, kterou nechcete zaznamenat. Možná budete chtít zkopírovat a vložit text do dialogového okna Najít a nahradit namísto ručního psaní. Žádný problém: Stačí kliknout Vývojář> Pozastavit nahrávání, zkopírujte a vložte text a poté klikněte na Vývojář> Obnovit záznam. Poté můžete dokončit záznam makra, jak je popsáno výše.

Ačkoli jsme se zde zaměřili na Microsoft Word, můžete také použijte makra ke zvýšení produktivity v aplikaci Excel. A je jich spousta časově úsporná makra pro Microsoft OneNote.

Jak zaznamenat makro v aplikaci Excel 2016

Věděli jste, že můžete automatizovat opakující se úkoly v aplikaci Microsoft Excel pomocí maker? Ukážeme vám, jak zaznamenat makro v aplikaci Excel 2016, abyste ušetřili spoustu času.

Potápění do Kodexu

Nyní se ponoříme hlouběji do našeho nového makra Wordu. Jít do Vývojář> Makra, ale místo poklepání na makro jej vyberte a klikněte Upravit. Tím se otevře editor jazyka Visual Basic, samostatné prostředí pro vytváření aplikací VBA.

Může to vypadat skličující, ale můžete ignorovat nabídky a většinu panelů. Místo toho se zaměřte na okno obsahující kód. Jak vidíte, Word právě napsal makro, které provádí Najít a nahradit.


Sub ChangeSocietyName ()
'
„ChangeSocietyName Macro
„Přejmenujte společnost na ochranu starožitných zubních zařízení
'
Výběr. Nalézt. ClearFormatting
Výběr. Nalézt. Výměna, nahrazení. ClearFormatting
S výběrem. Nalézt
.Text = "Společnost pro konzervaci starožitných zubních zařízení"
.Výměna, nahrazení. Text = "Liga na ochranu zubních starožitností"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Konec s
Výběr. Nalézt. Provést Nahradit: = wdReplaceAll
End Sub

Vysvětlíme, co se tady děje.

„Sub“ na prvním řádku je zkratka pro „subrutine“, malý program, který lze spustit samostatně nebo jako součást větší aplikace VBA. Řádky před jednoduchými uvozovkami jsou pro komentáře. Uvozovky říkají VBA, aby ignorovala jakékoli příkazy na těchto řádcích.

Pak se dostaneme k masu kódu: kódu, který provádí Najít a nahradit úkon. Jak vidíte, určuje hodnoty pro každou možnost v dialogovém okně Najít a nahradit, včetně textu a náhradního textu v uvozovkách. The Výběr. Nalézt. Vykonat příkaz na konci je ekvivalentní kliknutí na tlačítko „Nahradit vše“.

Modifikace makra

Chcete-li používat makra, nemusíte se s kódem pohrávat nebo se na něj dokonce dívat. Pokud se ale chcete potápět, můžete z této funkce získat více. Předpokládejme například, že při záznamu makra uděláte překlep. Místo opětovného záznamu můžete přejít do jazyka a opravit to.

Makro můžete také vylepšit, aby bylo užitečnější, a to zde uděláme. Když spustíte funkci Najít a nahradit, ať už ručně nebo prostřednictvím makra, Word si pamatuje text hledání a nahrazení. Při příštím otevření dialogu Najít a nahradit bude vypadat takto.

Bylo by lepší hodnoty vymazat, abychom dostali čisté dialogové okno. Uděláme to s druhým makrem, ale tentokrát to uděláme přímo v jazyce Visual Basic.

  1. V editoru jazyka vyberte celý podprogram, od prvního řádku po End Sub. Udeřil Ctrl + C zkopírovat to.
  2. Umístěte kurzor pod End Sub a stiskněte Ctrl + V. Právě jste duplikovali podprogram.
  3. Změňte název z ChangeSocietyName na ClearFindReplace (nebo jakýkoli jiný název, který vám vyhovuje). To je důležité, protože VBA vygeneruje chybovou zprávu, pokud se pokusíte spustit makra s duplicitními názvy.
  4. V .Text a Výměna, nahrazení. Text hodnoty, odstraňte text, ale ponechte uvozovky. V podstatě říkáte Wordu, aby nic nenašel a nenahradil jej ničím, ale také tyto hodnoty odstraňujete.

Výsledek by měl vypadat takto:


Sub ClearFindReplace ()
'
„ClearFindReplace Macro
„Vymazat text z dialogu Najít a nahradit
'
Výběr. Nalézt. ClearFormatting
Výběr. Nalézt. Výměna, nahrazení. ClearFormatting
S výběrem. Nalézt
.Text = ""
.Výměna, nahrazení. Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Konec s
Výběr. Nalézt. Provést Nahradit: = wdReplaceAll
End Sub

Nyní se vrátíme k makru ChangeSocietyName. Pod kódem Najít a nahradit, ale před End Sub zadejte ClearFindReplace (bez závorek na konci).

To je pravda: Nemusíte zadávat celý kód, který jste právě vytvořili, pouze název makra.


Sub ChangeSocietyName ()
'
„ChangeSocietyName Macro
„Přejmenujte společnost na ochranu starožitných zubních zařízení
'
Výběr. Nalézt. ClearFormatting
Výběr. Nalézt. Výměna, nahrazení. ClearFormatting
S výběrem. Nalézt
.Text = "Společnost pro konzervaci starožitných zubních zařízení"
.Výměna, nahrazení. Text = "Liga na ochranu zubních starožitností"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Konec s
Výběr. Nalézt. Provést Nahradit: = wdReplaceAll
ClearFindReplace
End Sub

Když Word spustí ChangeSocietyName, nejprve provede původní funkci Najít a nahradit. Poté bude interpretovat ClearFindReplace jako příkaz ke spuštění druhého makra.

Jdeme dále s VBA

Jak vidíte, funkce záznamu makra Wordu vám může ušetřit čas nespočetnými způsoby. Můžete vytvářet makra pro automatizaci téměř jakékoli operace a v editoru jazyka Visual Basic můžete vyladit makra, vložte jedno makro do druhého nebo vytvořte podprogram, který spustí více maker jeden za jiný.

Protože VBA je plnohodnotný programovací jazyk, můžete podprogramy začlenit do větších aplikací s proměnnými, smyčkami, podmíněnými příkazy a dalšími. A jakmile se naučíte základy VBA v Wordu, můžete použít stejné znalosti k vytváření maker v Microsoft Excel a Access.

Chcete-li to posunout dále, budete se chtít dozvědět více o konvencích VBA a editoru jazyka, například jak uspořádat váš kód a jak řešit chyby. Ale i když se chcete držet jednoduchých funkcí, jako jsou ty zde popsané, můžete dosáhnout vysoké produktivity.

E-mailem
Výukový program pro začátečníky k psaní maker VBA v aplikaci Excel (a proč byste se měli učit)

Pokud používáte Excel pravidelně, stojí za to se naučit, jak vytvářet makra VBA a získat přístup k mnoha dalším funkcím a schopnostem.

Související témata
  • Produktivita
  • Microsoft Word
  • Microsoft Office 365
  • Microsoft Office 2016
  • Tipy pro Microsoft Office
  • Microsoft Office 2019
  • Makra
O autorovi
Stephen Beale (Publikováno 6 článků)

Stephen Beale je dlouholetý technologický spisovatel se sídlem v oblasti San Franciska. Je autorem mnoha knih o počítačových aplikacích ve vydavatelství a grafickém designu a je bývalým editorem zpráv a recenzí pro Macworld. V současné době provozuje Steampunk Explorer, populární web pro fanoušky steampunku.

Více od Stephena Beale

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.