Mga Advanced na Macro sa Word

Maaaring alam ng ilang user ng Word kung paano mag-record ng madalas na paulit-ulit na serye ng mga aksyon, teksto, at manipulasyon at awtomatikong ulitin ang mga ito gamit ang isang kumbinasyon ng key: isang Word macro. Ngunit nang hindi namamalayan, nagsimula silang magtrabaho sa isang napakalakas na pag-andar na nasa likod ng bawat module ng Microsoft Office: Visual Basic para sa Mga Aplikasyon, VBA para sa maikli. Sa ganitong paraan nagbubukas ang pinto sa isang mundo ng mga gadget, pandaraya at iba pang katalinuhan na maaari mong paunlarin sa iyong sarili.

Sa pamamagitan ng menu o keyboard

Sa Word 2003/2007 pindutin ang Alt+F11 at ipasok namin ang editor ng VBA. Posible rin ito sa pamamagitan ng Word 2007 Ribbon (Developers tab / Visual Basic button ) o sa menu sa Word 2003 at mas maaga (piliin ang Tools / Macro / Visual Basic Editor ). Gamit ang parehong Alt+F11 nagpalipat-lipat kami sa pagitan ng Word at ng VBA editor. Upang magpatakbo ng dati nang naitala na macro o self-designed na VBA program, pindutin ang Alt+F8, o sa Word 2007 i-click ang Macros button sa Developer tab ng Ribbon (o sa Word 2003: Tools / Macros / Macros ). Ang pagsisimula ng macro recording ay maaaring gawin muli sa pamamagitan ng Record macro button (sa Word 2003 at mas maaga: Tools / Macro / Record new macro ), ngunit mas mabilis kung i-double click natin ang icon ng window (sa Word 2003 at mas maaga: ang OPN box).

Ang pagre-record ng isang operasyon bilang isang macro ay ang pinakamadaling paraan upang makagawa ng VBA code.

Hindi lang sa Word

Halos lahat ng mga pangunahing kasanayang inilalarawan sa kursong Expert na ito ay nalalapat din sa anumang iba pang module ng Microsoft Office: subukan lang ang mga bagay sa Excel, PowerPoint, Outlook, Access, Project o Visio. Sa katunayan, maraming third-party na software na pinili din na mag-alok ng VBA bilang isang macro language, kumpleto sa VBA editor at lahat ng nakalistang keyboard shortcut, kabilang ang AutoCAD, iGrafx FlowCharter, CorelDRAW, WordPerfect Office, BusinessObjects, atbp. .

Ang mga unang hakbang

Ang pinakamadaling paraan upang makapasok sa mundo ng VBA ay ang macro-record ng isang operasyon, na pagkatapos ay palawigin at pinuhin mo sa pamamagitan ng pag-coding ng karagdagang functionality. Halimbawa, ipagpalagay na nagpasya ka sa isang umiiral na dokumento na ang bawat pangungusap ay nasa loob ng isang bloke ng teksto na sinusundan ng dalawang puwang sa halip na isa. Ang unang diskarte para dito ay paulit-ulit na tawagan ang search/replace function (tingnan din ang Expert course na 'Find and replace' sa nakaraang isyu ng Computer!Totaal): maghanap ng tuldok na sinusundan ng space at palitan ito ng tuldok. na may dalawang puwang. Pagkatapos ay magsimulang muli para sa tandang pananong, tandang padamdam, atbp. Ito ay dapat na mas mabilis at mas elegante, di ba? Sa VBA!

Ang editor ng VBA

Isama natin ang unang kapalit na stroke na iyon sa isang macro kung saan tinatanggap namin ang default na iminungkahing pangalan na Macro1 at ipahiwatig na gusto naming iimbak ito sa kasalukuyang Document1 . Pagkatapos ay pinindot namin ang Alt+F11, at napupunta kami sa editor ng VBA. Mula rito, kailangan nating tanggapin ang isang bilingual na mundo: ang user interface ay nananatili sa Dutch (o sa anumang wikang Word ang ginagamit), ngunit ang code ay palaging nasa English, kahit na ito ay nagsisilbing automate ng Dutch Word. Ang mga pangunahing workspace sa loob ng VBA editor ay ang Code window at ang Project Explorer . Ipinapakita ng huli ang lahat ng aktibong dokumento at template sa isang istraktura ng puno. Pinalawak namin ang Project (Document1), at nakikita namin ang tatlong sangay: Microsoft Word objects, Modules at References , bawat isa ay may isang antas ng bata. Sa ilalim ng Modules, ito ay NewMacros . Sa wakas, kapag nag-double click kami sa NewMacros, ang code na nabuo namin (hindi alam) ay lalabas sa window ng code

Dinadala tayo ng Alt+F11 sa editor ng VBA mula sa bawat module ng Microsoft Office.

Istruktura

Ang isang nakapag-iisang piraso ng software ay tinatawag na subroutine sa VBA. Kaya ang anumang code na nilalaman nito sa pagitan ng mga tagubilin Sub at End Sub nakatayo. ang baguhan Sub ay sinusundan ng custom na pangalan para sa routine. Kung ito ay may kinalaman sa isang naitala na macro, ito ang pangalan na pinili sa dialog ng Word bago magsimula ang pag-record. Ngunit maaari pa rin itong baguhin sa editor. Ang pangalan na iyong ginagamit ay ipinapakita sa listahan ng mga available na macro na iyong binuksan gamit ang Alt+F8.

Ang mga tagubilin at deklarasyon ay maaaring dumating sa pagitan ng dalawang linyang ito, sa prinsipyo, isa bawat linya, maliban kung pinaghihiwalay ang mga ito ng mga tutuldok. Ang isang linya na nagsisimula sa isang apostrophe (') ay nagpapahiwatig ng isang linya ng komento. Ang ganitong mga piraso ng teksto ay walang impluwensya sa kurso ng programa: sila ay nilaktawan at samakatuwid ay nagsisilbi lamang bilang dokumentasyon. Awtomatikong itinatakda ang mga ito sa berde ng VBA editor. Ang mga nakareserbang keyword ay may kulay asul, ang natitirang bahagi ng teksto ay itim, mga linyang may mga error sa pula. Ang isang linya ng source code ay sarado sa pamamagitan ng pagpindot sa Enter: huwag gumamit ng mga tuldok o iba pang mga punctuation mark, maliban kung ang code (para sa mga dahilan ng pagiging madaling mabasa, halimbawa) ay magpapatuloy sa susunod na linya: pagkatapos ay tapusin natin ang linya na may puwang at isang 'underscore ' ( ang flat hyphen: _).

Ang mga deklarasyon ay mga pre-announcement ng mga variable na nilalayon naming gamitin, kasama ng kanilang uri. Ang mga naturang notification ay nagsisimula sa keyword madilim, na sinusundan ng isang pangalan na iyong pinili para sa variable, pagkatapos Ash at ang uri (tingnan ang kahon). Opsyonal ang mga ito, maliban kung ang Ideklara ang Mga Variable na Kinakailangan ay naka-check sa tab na Editor sa ilalim ng Tools / Options , o kung tinukoy namin sa simula ng code (ibig sabihin, bago ang unang Sublinya) ang pagtuturo Malinaw na opsyon sa lugar.

Sa mga opsyon ng VBA editor, ipinapahiwatig namin kung gusto naming malinaw na ideklara ang mga variable.

Kamakailang mga Post

$config[zx-auto] not found$config[zx-overlay] not found