Trött på att utföra repetitiva uppgifter i Microsoft Word? Begravd inom programmet är ett kraftfullt automatiseringsverktyg som kan ta dessa jobb ur dina händer. Vi talar om makron, och även om funktionen är beroende av Microsofts Visual Basic for Applications (VBA), kan du använda den även om tanken på kodning ger dig heebie-jeebies.
Med ett klick på en knapp registrerar Word dina handlingar och genererar ett makro som du kan spela upp så ofta du vill. Om du är äventyrlig kan du enkelt ändra makrot för en extra grad av automatisering.
Här visar vi dig ett enkelt men användbart exempel: Hur automatiseras Words Sök och ersätt-funktion.
Spela in makron
I detta exempel är du den uppskattade presidenten för Society for the Conservation of Antique Dental Appliances. Du har dussintals Word-dokument om historiska proteser och liknande, alla med samhällets namn framträdande. Då plötsligt röstar styrelsen för att ändra namnet till Dental Antiques Preservation League. Nu behöver du ett enkelt sätt att uppdatera dokumenten.
Du kan börja med ett nytt tomt dokument eller öppna ett befintligt. Om du inte redan har gjort det måste du aktivera fliken Utvecklare.
Gå till Arkiv> Alternativ> Anpassa menyfliksområdet. Till höger, under Huvudflikar, kontrollera Utvecklare alternativ. Välj OK och avsluta.
Låt oss nu skapa vårt makro.
- Klick Utvecklare> Spela in makro.
- Du uppmanas att namnge makrot. Ange ”ChangeSocietyName” eller något annat namn som passar dig. Undvik blanksteg, punkt, utropstecken och specialtecken när du namnger makron, annars får du ett felmeddelande. Du kan använda siffror, men det första tecknet måste vara en bokstav.
- Du kan tilldela makrot till en knapp och / eller kortkommando, men detta är inte ett krav. Om du väljer Knapp låter Word dig lägga till den i verktygsfältet Snabbåtkomst. Du kan också lägga till en kort beskrivning av makrot.
- Klick OKoch Word registrerar nu dina handlingar. Träffa Ctrl + H att ta upp Hitta och ersätta dialog.
- Ange "Society for the Conservation of Antique Dental Appliances" i Find och "Dental Antique Preservation League" i Replace.
- Klick Ersätt alla för att utföra åtgärden Sök och ersätt. Det här är den enda åtgärden du vill spela in. Det spelar ingen roll om makrot verkligen ersätter någon text. Poängen är att spara den för andra dokument.
- Detta är viktigt: Klicka Utvecklare> Stoppa inspelning. I annat fall kommer makrot att inkludera alla efterföljande åtgärder.
Låt oss nu se ditt handarbete. Öppna ett dokument som innehåller samhällets namn. Klick Utvecklare> Makron. Om du dubbelklickar på ChangeSocietyName utför Word automatiskt funktionen Find and Replace.
Dricks: När du spelar in makrot kan du behöva utföra en åtgärd som du inte vill spela in. Du kanske till exempel vill kopiera och klistra in text i dialogrutan Sök och ersätt istället för att skriva den manuellt. Inga problem: Klicka bara Utvecklare> Pausa inspelning, kopiera och klistra in texten och klicka sedan på Utvecklare> Resume Recorder. Sedan kan du slutföra makroinspelningen enligt beskrivningen ovan.
Även om vi fokuserade här på Microsoft Word, kan du också använd makron för att öka produktiviteten i Excel. Och det finns många tidsbesparande makron för Microsoft OneNote.
Visste du att du kunde automatisera repetitiva uppgifter i Microsoft Excel med hjälp av makron? Vi visar hur du spelar in ett makro i Excel 2016 för att spara mycket tid.
Dyk in i koden
Nu tar vi ett djupare dyk i vårt nya Word-makro. Gå till Utvecklare> Makron, men istället för att dubbelklicka på makrot, välj det och klicka Redigera. Detta öppnar Visual Basic-redigeraren, en fristående miljö för att bygga VBA-applikationer.
Det kan se skrämmande ut, men du kan ignorera menyerna och de flesta panelerna. Fokusera istället på fönstret som innehåller koden. Som du kan se har Word precis skrivit ett makro som utför Sök och ersätt.
Sub ChangeSocietyName ()
'
'ChangeSocietyName Macro
'Rename Society for the Conservation of Antique Dental Appliances
'
Urval. Hitta. Rensa formatering
Urval. Hitta. Ersättning. Rensa formatering
Med urval. Hitta
.Text = "Society for the Conservation of Antique Dental Appliances"
.Ersättning. Text = "Dental Antiques Preservation League"
Framåt = Sant
.Wrap = wdFindContinue
.Format = falskt
.MatchCase = Falskt
.MatchWholeWord = Falskt
.MatchWildcards = Falskt
.MatchSoundsLike = Falskt
.MatchAllWordForms = Falskt
Sluta med
Urval. Hitta. Kör Ersätt: = wdRlaceAll
Avsluta sub
Låt oss förklara vad som händer här.
”Sub” på första raden är förkortning för ”subrutin”, ett litet program som kan köras på egen hand eller som en del av en större VBA-applikation. Linjer som föregås av enstaka citattecken är för kommentarer. Citattecken säger till VBA att ignorera alla uttalanden på dessa rader.
Sedan kommer vi till köttet av koden: koden som utför den Hitta och ersätta drift. Som du kan se anger den värden för varje alternativ i dialogrutan Sök och ersätt, inklusive texten och ersättningstexten i citattecken. De Urval. Hitta. Kör kommandot nära slutet motsvarar att klicka på "Ersätt alla" -knappen.
Modding the Macro
För att använda makron behöver du inte röra med koden eller ens titta på den. Men du kan få ut mer av den här funktionen om du är villig att dyka in. Antag till exempel att du gör ett skrivfel när du spelar in makrot. Istället för att spela in det igen kan du gå in i Visual Basic och fixa det.
Du kan också justera makrot för att göra det mer användbart, och det är vad vi ska göra här. När du kör Sök och ersätt, vare sig manuellt eller via makro, kommer Word ihåg sökningen och ersätt texten. Nästa gång du öppnar dialogrutan Sök och ersätt ser den ut så här.
Det skulle vara bättre att rensa värdena så att vi får en ren dialogruta. Vi gör det med ett andra makro, förutom den här gången, gör vi det direkt i Visual Basic.
- I Visual Basic-redigeraren väljer du hela subrutinen, från första raden till End Sub. Träffa Ctrl + C för att kopiera den.
- Placera markören under End Sub och slå Ctrl + V.. Du har precis duplicerat subrutinen.
- Ändra namnet från ChangeSocietyName till ClearFindReplace (eller något annat namn som passar dig). Detta är viktigt eftersom VBA genererar ett felmeddelande om du försöker köra makron med dubbla namn.
- I .Text och Ersättning. Text värden, ta bort texten men lämna citattecken. I grund och botten säger du till Word att inte hitta något och ersätta det med ingenting, men du rensar också bort dessa värden.
Resultatet ska se ut så här:
Sub ClearFindReplace ()
'
'ClearFindRlace Makro
'Rensa text från dialogrutan Sök och ersätt
'
Urval. Hitta. Rensa formatering
Urval. Hitta. Ersättning. Rensa formatering
Med urval. Hitta
.Text = ""
.Ersättning. Text = ""
Framåt = Sant
.Wrap = wdFindContinue
.Format = falskt
.MatchCase = Falskt
.MatchWholeWord = Falskt
.MatchWildcards = Falskt
.MatchSoundsLike = Falskt
.MatchAllWordForms = Falskt
Sluta med
Urval. Hitta. Kör Ersätt: = wdRlaceAll
Avsluta sub
Nu går vi tillbaka till ChangeSocietyName-makrot. Under koden Sök och ersätt men innan End Sub anger du ClearFindReplace (utan parentes i slutet).
Det stämmer: Du behöver inte ange all kod du just skapade, bara namnet på makrot.
Sub ChangeSocietyName ()
'
'ChangeSocietyName Macro
'Rename Society for the Conservation of Antique Dental Appliances
'
Urval. Hitta. Rensa formatering
Urval. Hitta. Ersättning. Rensa formatering
Med urval. Hitta
.Text = "Society for the Conservation of Antique Dental Appliances"
.Ersättning. Text = "Dental Antiques Preservation League"
Framåt = Sant
.Wrap = wdFindContinue
.Format = falskt
.MatchCase = Falskt
.MatchWholeWord = Falskt
.MatchWildcards = Falskt
.MatchSoundsLike = Falskt
.MatchAllWordForms = Falskt
Sluta med
Urval. Hitta. Kör Ersätt: = wdRlaceAll
ClearFindRlace
Avsluta sub
När Word kör ChangeSocietyName körs den ursprungliga funktionen Sök och ersätt först. Då tolkas ClearFindReplace som ett kommando för att köra det andra makrot.
Gå vidare med VBA
Som du kan se kan Words makroinspelningsfunktion hjälpa dig att spara tid på otaliga sätt. Du kan skapa makron för att automatisera nästan alla åtgärder, och i Visual Basic-redigeraren kan du justera makron, bädda in ett makro inuti det andra eller skapa en underrutin som kör flera makron en efter Övrig.
Eftersom VBA är ett fullfjädrat programmeringsspråk kan du integrera underrutinerna i större applikationer med variabler, loopar, villkorliga uttalanden och mer. Och när du väl har lärt dig grunderna i VBA i Word kan du använda mycket av samma kunskap för att skapa makron i Microsoft Excel och Access.
För att ta det vidare vill du lära dig mer om VBA-konventioner och Visual Basic-redigeraren, till exempel hur du organiserar din kod och hur du hanterar buggar. Men även om du vill hålla fast vid enkla funktioner som de som beskrivs här, kan du gå långt för att förbättra din produktivitet.
Om du använder Excel regelbundet är det värt att lära sig att skapa VBA-makron och få tillgång till många fler funktioner och funktioner.
- Produktivitet
- Microsoft Word
- Microsoft Office 365
- Microsoft Office 2016
- Microsoft Office-tips
- Microsoft Office 2019
- Makron

Stephen Beale är en långvarig teknikförfattare baserad i San Francisco-området. Han har författat många böcker om datorprogram inom publicering och grafisk design, och är en tidigare redaktör för nyheter och recensioner för Macworld. Han driver för närvarande The Steampunk Explorer, en populär webbplats för steampunk-entusiaster.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.