Bent u het moe om repetitieve taken uit te voeren in Microsoft Word? Begraven in het programma is een krachtige automatiseringstool die u die taken uit handen kan nemen. We hebben het over macro's, en hoewel de functie afhankelijk is van Visual Basic for Applications (VBA) van Microsoft, kunt u deze zelfs gebruiken als het idee van codering u de heebie-jeebies geeft.
Met een klik op een knop neemt Word uw acties op en genereert een macro die u zo vaak als u wilt opnieuw kunt afspelen. Als u avontuurlijk bent ingesteld, kunt u de macro eenvoudig aanpassen voor een extra mate van automatisering.
Hier laten we u een eenvoudig maar nuttig voorbeeld zien: hoe u de zoek- en vervangfunctie van Word automatiseert.
Opnemen van de macro
In dit voorbeeld bent u de gewaardeerde president van de Society for the Preservation of Antique Dental Appliances. Je hebt tientallen Word-documenten over historische kunstgebitten en dergelijke, allemaal met de naam van de samenleving prominent vermeld. Dan stemt het bestuur plotseling om de naam te veranderen in de Dental Antiques Preservation League. Nu heb je een gemakkelijke manier nodig om de documenten bij te werken.
U kunt beginnen met een nieuw, leeg document of een bestaand document openen. Als u dit nog niet heeft gedaan, moet u het tabblad Ontwikkelaar inschakelen.
Ga naar Bestand> Opties> Lint aanpassen. Aan de rechterkant, onder Hoofdtabbladen, controleer de Ontwikkelaar optie. Selecteer OK en sluit af.
Laten we nu onze macro maken.
- Klik Ontwikkelaar> Macro opnemen.
- U wordt gevraagd om de macro een naam te geven. Voer "ChangeSocietyName" of een andere naam in die bij u past. Vermijd bij het benoemen van macro's spaties, punten, uitroeptekens en speciale tekens, anders krijg je een foutmelding. U kunt cijfers gebruiken, maar het eerste teken moet een letter zijn.
- U kunt de macro toewijzen aan een knop en / of sneltoets, maar dit is geen vereiste. Als u Knop kiest, kunt u deze in Word toevoegen aan de werkbalk Snelle toegang. U kunt ook een korte beschrijving van de macro toevoegen.
- Klik OK, en Word zal nu uw acties opnemen. Raken Ctrl + H om de Zoek en vervang dialoog.
- Voer "Vereniging voor het behoud van antieke tandheelkundige apparaten" in bij Find en "Dental Antique Preservation League" bij Replace.
- Klik Vervang alles om de bewerking Zoeken en vervangen uit te voeren. Dit is de enige actie die u wilt opnemen. Het maakt niet uit of de macro daadwerkelijk tekst vervangt. Het punt is om het op te slaan voor andere documenten.
- Dit is belangrijk: klik Ontwikkelaar> Opname stoppen. Anders bevat de macro alle volgende acties.
Laten we nu eens kijken naar uw handwerk. Open een document met de naam van de vereniging. Klik Ontwikkelaar> Macro's. Als u dubbelklikt op ChangeSocietyName, voert Word automatisch de bewerking Zoeken en vervangen uit.
Tip: Terwijl u de macro opneemt, moet u mogelijk een actie uitvoeren die u niet wilt opnemen. U kunt bijvoorbeeld tekst kopiëren en plakken in het dialoogvenster Zoeken en vervangen in plaats van deze handmatig te typen. Geen probleem: klik gewoon Ontwikkelaar> Opname pauzeren, kopieer en plak de tekst en klik op Ontwikkelaar> Recorder hervatten. Vervolgens kunt u de macro-opname voltooien zoals hierboven beschreven.
Hoewel we ons hier op Microsoft Word hebben geconcentreerd, kunt u dat ook gebruik macro's om de productiviteit in Excel te verhogen. En er zijn er veel tijdbesparende macro's voor Microsoft OneNote.
Wist u dat u repetitieve taken in Microsoft Excel kunt automatiseren door macro's te gebruiken? We laten u zien hoe u een macro opneemt in Excel 2016 om veel tijd te besparen.
Duiken in de code
Nu gaan we dieper in op onze nieuwe Word-macro. Ga naar Ontwikkelaar> Macro's, maar in plaats van te dubbelklikken op de macro, selecteert u deze en klikt u op Bewerk. Hiermee wordt de Visual Basic-editor geopend, een op zichzelf staande omgeving voor het bouwen van VBA-applicaties.
Het ziet er misschien ontmoedigend uit, maar je kunt de menu's en de meeste panelen negeren. Focus in plaats daarvan op het venster met de code. Zoals u kunt zien, heeft Word zojuist een macro geschreven die Zoeken en vervangen uitvoert.
Sub ChangeSocietyName ()
'
'ChangeSocietyName Macro
'Rename Society for the Preservation of Antique Dental Appliances
'
Selectie. Vind. Heldere opmaak
Selectie. Vind. Vervanging. Heldere opmaak
Met selectie. Vind
.Text = "Vereniging voor het behoud van antieke tandheelkundige apparaten"
.Vervanging. Text = "Dental Antiques Preservation League"
.Forward = Waar
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Eindigt met
Selectie. Vind. Voer Replace: = wdReplaceAll uit
Einde Sub
Laten we uitleggen wat er hier aan de hand is.
De "sub" op de eerste regel is een afkorting voor "subroutine", een klein programma dat op zichzelf kan worden uitgevoerd of als onderdeel van een grotere VBA-applicatie. Regels voorafgegaan door enkele aanhalingstekens zijn bedoeld voor opmerkingen. De aanhalingstekens vertellen VBA om alle uitspraken op die regels te negeren.
Dan komen we bij het vlees van de code: de code die de Zoek en vervang operatie. Zoals u kunt zien, specificeert het waarden voor elke optie in het dialoogvenster Zoeken en vervangen, inclusief de tekst en vervangende tekst tussen aanhalingstekens. De Selectie. Vind. Uitvoeren commando aan het einde komt overeen met klikken op de knop "Alles vervangen".
Modding van de macro
Om macro's te gebruiken, hoef je niet met de code te knoeien of er zelfs maar naar te kijken. Maar u kunt meer uit deze functie halen als u bereid bent om erin te duiken. Stel dat u een typefout maakt bij het opnemen van de macro. In plaats van het opnieuw op te nemen, kunt u naar Visual Basic gaan en het repareren.
U kunt de macro ook aanpassen om deze nuttiger te maken, en dat is wat we hier zullen doen. Wanneer u Zoeken en vervangen uitvoert, handmatig of via macro, onthoudt Word de tekst voor zoeken en vervangen. De volgende keer dat u het dialoogvenster Zoeken en vervangen opent, ziet het er als volgt uit.
Het zou beter zijn om de waarden te wissen, zodat we een schoon dialoogvenster krijgen. We doen dat met een tweede macro, maar deze keer doen we het rechtstreeks in Visual Basic.
- Selecteer in de Visual Basic-editor de volledige subroutine, van de eerste regel tot End Sub. Raken Ctrl + C om het te kopiëren.
- Plaats de cursor onder End Sub en druk op Ctrl + V. U heeft zojuist de subroutine gedupliceerd.
- Verander de naam van ChangeSocietyName in ClearFindReplace (of een andere naam die bij je past). Dit is belangrijk omdat VBA een foutmelding genereert als u macro's met dubbele namen probeert uit te voeren.
- In de .Tekst en Vervanging. Tekst waarden, verwijder de tekst maar laat de aanhalingstekens staan. In wezen vertel je Word niets te vinden en het door niets te vervangen, maar je verwijdert ook die waarden.
Het resultaat zou er als volgt uit moeten zien:
Sub ClearFindReplace ()
'
'ClearFindReplace-macro
'Tekst wissen uit dialoogvenster Zoeken en vervangen
'
Selectie. Vind. Heldere opmaak
Selectie. Vind. Vervanging. Heldere opmaak
Met selectie. Vind
.Text = ""
.Vervanging. Text = ""
.Forward = Waar
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Eindigt met
Selectie. Vind. Voer Replace: = wdReplaceAll uit
Einde Sub
Nu gaan we terug naar de ChangeSocietyName-macro. Voer onder de code Zoeken en vervangen, maar vóór End Sub, ClearFindReplace in (zonder haakjes aan het einde).
Dat klopt: u hoeft niet alle code in te voeren die u zojuist heeft gemaakt, alleen de naam van de macro.
Sub ChangeSocietyName ()
'
'ChangeSocietyName Macro
'Rename Society for the Preservation of Antique Dental Appliances
'
Selectie. Vind. Heldere opmaak
Selectie. Vind. Vervanging. Heldere opmaak
Met selectie. Vind
.Text = "Vereniging voor het behoud van antieke tandheelkundige apparaten"
.Vervanging. Text = "Dental Antiques Preservation League"
.Forward = Waar
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Eindigt met
Selectie. Vind. Voer Replace: = wdReplaceAll uit
ClearFindReplace
Einde Sub
Als Word ChangeSocietyName uitvoert, wordt eerst de oorspronkelijke functie Zoeken en vervangen uitgevoerd. Vervolgens wordt ClearFindReplace geïnterpreteerd als een opdracht om de tweede macro uit te voeren.
Verder gaan met VBA
Zoals u kunt zien, kan de macro-opnamefunctie van Word u op talloze manieren helpen tijd te besparen. U kunt macro's maken om bijna elke bewerking te automatiseren, en in de Visual Basic-editor kunt u het macro's, sluit de ene macro in de andere in of maak een subroutine die meerdere macro's uitvoert achter de andere.
Omdat VBA een volwaardige programmeertaal is, kunt u de subroutines opnemen in grotere toepassingen met variabelen, loops, voorwaardelijke instructies en meer. En als je eenmaal de basisprincipes van VBA in Word hebt geleerd, kun je veel van diezelfde kennis toepassen om macro's te maken in Microsoft Excel en Access.
Om verder te gaan, wilt u meer weten over VBA-conventies en de Visual Basic-editor, zoals hoe u uw code organiseert en hoe u met bugs omgaat. Maar zelfs als u zich wilt houden aan eenvoudige functies zoals degene die hier worden beschreven, kunt u uw productiviteit aanzienlijk verbeteren.
Als u Excel regelmatig gebruikt, is het de moeite waard om te leren hoe u VBA-macro's maakt en toegang krijgt tot veel meer functies en mogelijkheden.
- Productiviteit
- Microsoft Word
- Microsoft Office 365
- Microsoft Office 2016
- Microsoft Office-tips
- Microsoft Office 2019
- Macro's
Stephen Beale is een lange tijd schrijver over technologie, gevestigd in de omgeving van San Francisco. Hij heeft talloze boeken geschreven over computertoepassingen in uitgeverijen en grafisch ontwerp, en is een voormalig nieuws- en recensie-editor voor Macworld. Hij runt momenteel The Steampunk Explorer, een populaire website voor steampunk-enthousiastelingen.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve aanbiedingen!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.