Տեղեկատվություն

Իմացեք VBA մակրո կոդավորումը Word 2007-ով

Իմացեք VBA մակրո կոդավորումը Word 2007-ով

Այս դասընթացի նպատակն է օգնել այն մարդկանց, ովքեր երբևէ ծրագիր չեն գրել, նախքան մեկը գրել սովորելը: Ոչ մի պատճառ չկա, որ գրասենյակային աշխատողները, տնային տնտեսուհիները, պրոֆեսիոնալ ճարտարագետները և պիցցայի առաքման անձինք չպետք է կարողանան օգտվել իրենց ձեռքով պատրաստված համակարգչային ծրագրերից `ավելի արագ և խելացի աշխատելու համար: Դա չպետք է կատարի «պրոֆեսիոնալ ծրագրավորող» (ինչ էլ որ լինի) գործը կատարելու համար: Դուք գիտեք, թե ինչ է պետք անել ավելի լավ, քան որևէ մեկը: Դուք կարող եք դա անել ինքներդ:

(Եվ ես սա ասում եմ որպես մեկը, ով երկար տարիներ է ծախսել այլ մարդկանց համար ծրագրեր գրելիս ... «պրոֆեսիոնալ»:)

Ասվածի խոսքով ՝ սա դասընթաց չէ, թե ինչպես օգտագործել համակարգիչը:

Այս դասընթացը ենթադրում է, որ դուք գիտեք, թե ինչպես օգտագործել հանրաճանաչ ծրագրակազմը և, մասնավորապես, ձեր համակարգչում տեղադրված Microsoft Word 2007-ը: Դուք պետք է գիտեք համակարգչային հիմնական հմտություններ, ինչպիսիք են ՝ ինչպես ստեղծել ֆայլի պանակներ (այսինքն ՝ տեղեկատու), և ինչպես տեղափոխել և պատճենել ֆայլերը: Բայց եթե միշտ մտածել եք, թե իրականում ինչ է համակարգչային ծրագիրը, դա լավ է: Մենք ձեզ ցույց կտանք:

Microsoft Office- ը էժան չէ: Բայց դուք արդեն կարող եք ձեռք բերել ավելի մեծ արժեք այն արդեն իսկ տեղադրած թանկարժեք ծրագրերից: Դա մեծ պատճառ է, որ մենք օգտագործում ենք Visual Basic ծրագիրը կամ VBA- ն ՝ Microsoft Office- ի հետ միասին: Կան միլիոնավոր մարդիկ, ովքեր ունեն այն և մի բուռ (գուցե ոչ մեկը), ով օգտագործում է այն ամենը, ինչ կարող է անել:

Մինչև մենք գնալու ենք ավելի հեռուն, սակայն պետք է ևս մեկ բան բացատրել VBA- ի վերաբերյալ: 2002-ի փետրվարին Microsoft- ը 300 միլիարդ դոլարի խաղադրույք կատարեց ամբողջովին նոր տեխնոլոգիական բազայի վրա ՝ իրենց ամբողջ ընկերության համար: Նրանք դա անվանեցին: NET: Այդ ժամանակից ի վեր Microsoft- ը իրենց ամբողջ տեխնոլոգիական բազան տեղափոխում է VB.NET: VBA- ն այն վերջին ծրագրավորման գործիքն է, որը դեռ օգտագործում է VB6- ը ՝ փորձված և իրական տեխնոլոգիան, որն օգտագործվում էր մինչ VB.NET: (VB6 մակարդակի այս տեխնոլոգիան նկարագրելու համար կտեսնեք «COM based» արտահայտությունը):

VSTO- ն և VBA- ն

Microsoft- ը ստեղծել է Office 2007-ի համար VB.NET ծրագրեր գրելու միջոց: Այն կոչվում է Visual Studio Tools for Office (VSTO): VSTO- ի հետ կապված խնդիրն այն է, որ դուք պետք է գնեք և սովորեք օգտագործել Visual Studio Professional- ը: Excel- ը ինքնին դեռևս հիմնված է COM- ի վրա և .NET ծրագրերը պետք է Excel- ի հետ աշխատեն ինտերֆեյսի միջոցով (որը կոչվում է PIA, Primary Interop Assembly):

Այնպես որ, քանի դեռ Microsoft- ը չի միանա իրենց գործողությունները միասին և ձեզ հնարավորություն կտա գրել ծրագրեր, որոնք կաշխատի Word- ի հետ և ձեզ ստիպեն չանդամակցել ՏՏ բաժին, VBA մակրոները դեռ ճանապարհ են:

Մեկ այլ պատճառ, որ մենք օգտագործում ենք VBA- ն այն է, որ այն իսկապես «լիովին թխած» (ոչ թե կիսով չափ թխած) ծրագրաշարի մշակման միջավայր է, որն արդեն տարիներ շարունակ օգտագործվում է ծրագրավորողների կողմից ՝ գոյություն ունենալու համար գոյություն ունեցող ամենաբարդ համակարգերից մեկը: Կարևոր չէ, թե որքան բարձր են ձեր ծրագրավորման տեսարժան վայրերը: Visual Basic- ը ձեզ այնտեղ տանելու ուժ ունի:

Ինչ է մակրոը:

Հնարավոր է ՝ դուք օգտագործել եք սեղանադիր ծրագրեր, որոնք աջակցում են նախկինում մակրո լեզու կոչվողը: Մակրոններն ավանդաբար պարզապես ստեղնաշարի գործողությունների սցենարներ են, որոնք խմբավորված են մեկ անունով, այնպես որ կարող եք բոլորին միանգամից կատարել: Եթե ​​օրը միշտ սկսեք ՝ բացելով ձեր «MyDiary» փաստաթուղթը, մուտքագրելով այսօրվա ամսաթիվը և մուտքագրելով բառերը ՝ «Հարգելի օրագիր», - ինչու՞ թույլ չտալ, որ ձեր համակարգիչը դա անի ձեզ համար: Մյուս ծրագրային ապահովման համար հետևողական լինելու համար, Microsoft- ը VBA- ն անվանում է նաև մակրո լեզու: Բայց դա այդպես չէ: Դա շատ ավելին է:

Շատ աշխատասեղանի ծրագրեր ներառում են ծրագրային գործիք, որը թույլ կտա արձանագրել «առանցքային հարվածի» մակրո: Microsoft- ի ծրագրերում այս գործիքը կոչվում է մակրո ձայնագրիչ, բայց արդյունքը ավանդական առանցքային հարվածի մակրո չէ: Դա VBA ծրագիր է, և տարբերությունն այն է, որ այն պարզապես չի կրկնակի ստեղները: Հնարավորության դեպքում VBA ծրագիրը տալիս է նույն վերջնական արդյունքը, բայց VBA- ում կարող եք նաև գրել բարդ համակարգեր, որոնք պարզ ստեղնաշարի մակրոները թողնում են փոշու մեջ: Օրինակ, VBA- ի միջոցով կարող եք օգտագործել Word- ի Excel գործառույթները: Եվ դուք կարող եք VBA ինտեգրվել այլ համակարգերի հետ, ինչպիսիք են տվյալների բազաները, համացանցը կամ այլ ծրագրային ապահովման ծրագրեր:

Չնայած VBA մակրո ձայնագրիչը շատ օգտակար է պարզապես պարզ ստեղնաշարի մակրոներ ստեղծելու համար, ծրագրավորողները պարզել են, որ նույնիսկ ավելի օգտակար է նրանց `ավելի բարդ ծրագրերում գործարկելը սկսելու համար: Դա այն է, ինչ մենք ենք անելու:

Սկսել Microsoft Word 2007 դատարկ փաստաթղթով և պատրաստվեք ծրագիր գրել:

Մշակողի ներդիրը Word- ում

Word 2007-ին Visual Basic ծրագիրը գրելու համար դուք պետք է առաջին գործերից եք գտնել Visual Basic! Word 2007-ի լռելյայն է ցուցադրել այն ժապավենը, որն օգտագործվում է: Ավելացնելը Մշակողը ներդիր, նախ կտտացրեք այն Գրասենյակ կոճակը (վերին ձախ անկյունում գտնվող պատկերանշանը), ապա կտտացրեք Բառի ընտրանքներ. Սեղմել Showուցադրել Մշակողի ներդիրը ժապավենի մեջ և հետո կտտացրեք լավ.

Երբ կտտացնում ես Մշակողը ներդիր, դուք ունեք մի ամբողջ նոր գործիք գործիքներ, որոնք օգտագործվում են VBA ծրագրեր կազմելու համար: Մենք պատրաստվում ենք օգտագործել VBA մակրո ձայնագրիչը ՝ ձեր առաջին ծրագիրը ստեղծելու համար: (Եթե ձեր բոլոր գործիքներով ժապավենը անհետանում է, գուցե ցանկանաք աջով սեղմել ժապավենը և համոզվել Նվազեցրեք ժապավենը չի ստուգվում:)

Սեղմել Ձայնագրեք մակրո. Անվանեք ձեր մակրոը. AboutVB1- ի մասին մուտքագրելով այդ անունը Մակրո անուն տուփ Ընտրեք ձեր ընթացիկ փաստաթուղթը որպես ձեր մակրո պահեստավորման վայրը և կտտացրեք OK: Տե՛ս ստորև բերված օրինակը:

(Նշում. Եթե ընտրեք Բոլոր փաստաթղթերը (Normal.dotm) Բացվող ընտրացանկից VBA- ի այս փորձարկման ծրագիրը, ըստ էության, կդառնա Word- ի մի մասը, քանի որ այնուհետև այն հասանելի կդառնա Word- ում ստեղծած յուրաքանչյուր փաստաթղթի: Եթե ​​դուք միայն ցանկանում եք VBA մակրո օգտագործել որոշակի փաստաթղթում, կամ եթե ցանկանում եք այն ուղարկել մեկ ուրիշի, ապա ավելի լավ գաղափար է մակրոը որպես փաստաթղթի մաս պահպանել: Նորմալ.dotm լռելյայն է, այնպես որ դուք պետք է փոխեք այն):

Մակրո ձայնագրիչով միացված միացրեք տեքստը ՝ «Ողջույն աշխարհ»: ձեր Word փաստաթղթում: (Մկնիկի սլաքը կվերածվի ժապավենի քարթրիջի մանրանկարչության նկարի, որպեսզի ցույց տա, որ ստեղնաշարները ձայնագրվում են:)

(Նշում. «Ողջույն աշխարհը» գրեթե անհրաժեշտ է «Առաջին ծրագրի» համար, քանի որ առաջին իսկ ծրագրավորման ձեռնարկը «C» սկզբնական լեզվով օգտագործել է այն: Դա ի սկզբանե ավանդույթ է դարձել):

Սեղմել Դադարեցրեք ձայնագրումը. Փակեք Word- ը և պահպանեք փաստաթուղթը `օգտագործելով անունը: AboutVB1.docm- ի մասին. Դուք պետք է ընտրեք ա Բառի մակրո միացված փաստաթուղթ ից Պահել որպես տեսակը անկում

Դա այդպես է: Դուք հիմա գրել եք Word VBA ծրագիր: Տեսնենք, թե ինչ տեսք ունի:

Հասկանալով, թե ինչ է VBA ծրագիրը

Եթե ​​դուք փակել եք Word- ը, այն կրկին բացեք և ընտրեք այն AboutVB1.docm- ի մասին ֆայլը, որը դուք պահել եք նախորդ դասում: Եթե ​​ամեն ինչ ճիշտ է արվել, դուք պետք է տեսնեք ձեր փաստաթղթերի պատուհանի վերևում գտնվող դրոշ `անվտանգության նախազգուշացմամբ:

VBA և Security

VBA- ն իսկական ծրագրավորման լեզու է: Դա նշանակում է, որ VBA- ն կարող է անել այն ամենը, ինչ ձեզ հարկավոր է անել: Եվ դա, իր հերթին, նշանակում է, որ եթե դուք ստանում եք Word փաստաթուղթ ներկառուցված մակրոով ինչ-որ «չար տղայից», ապա մակրոը կարող է անել ցանկացած բանի մասին: Այսպիսով, Microsoft- ի նախազգուշացումը պետք է լուրջ ընդունվի: Մյուս կողմից, դու գրել է այս մակրոը, և այն ամենը, ինչ անում է, «Բարև աշխարհ» տիպն է, այնպես որ այստեղ ռիսկ չկա: Սեղմեք կոճակը `մակրոները միացնելու համար:

Տեսնելու համար, թե ինչ է ստեղծել մակրո ձայնագրիչը (ինչպես նաև կատարել VBA- ի ներգրավմամբ այլ այլ բաներ), անհրաժեշտ է սկսել Visual Basic Editor- ը: Կառուցապատողի ժապավենի ձախ կողմում դա անելու պատկերակ կա:

Նախ նկատեք ձախ ձեռքի պատուհանը: Սա կոչվում է Project Explorer- ը և այն միասին խմբավորում է բարձր մակարդակի օբյեկտները (մենք դրանց մասին ավելի շատ կխոսենք), որոնք ձեր Visual Basic ծրագրի մի մասն են:

Երբ սկսվեց մակրո ձայնագրիչը, դուք ընտրություն ունեիք Նորմալ է ձևանմուշ կամ ընթացիկ փաստաթուղթ ՝ որպես գտնվելու վայր ձեր մակրոի համար: Եթե ​​դուք ընտրել եք նորմալ, ապա NewMacros մոդուլը կլինի մաս Նորմալ է Project Explorer ցուցադրման մասնաճյուղ: (Դուք պետք է ընտրեք ընթացիկ փաստաթուղթը: Եթե ընտրեք Նորմալ էջնջել փաստաթուղթը և կրկնել նախորդ հրահանգները:) Ընտրեք NewMacros տակ Մոդուլներ ձեր ընթացիկ նախագծում: Եթե ​​դեռևս չկա կոդերի պատուհանի ցուցադրում, կտտացրեք Կոդ տակ Տեսարան մենյու:

The Word փաստաթուղթը որպես VBA բեռնարկղ

Յուրաքանչյուր Visual Basic ծրագիրը պետք է լինի ինչ-որ ֆայլի «կոնտեյներ»: Word 2007 VBA մակրոների դեպքում այդ բեռնարկղը «(.docm») Word փաստաթուղթ է: Word VBA ծրագրերը չեն կարող գործել առանց Word- ի, և դուք չեք կարող ստեղծել ինքնուրույն ('.exe') Visual Basic ծրագրեր, ինչպես կարող եք, Visual Basic 6-ի կամ Visual Basic .NET- ի միջոցով: Բայց դա դեռ մի բան է թողնում, որ կարող ես անել:

Ձեր առաջին ծրագիրը, անշուշտ, կարճ և քաղցր է, բայց այն կծառայի ներկայացնել VBA- ի և Visual Basic Editor- ի հիմնական առանձնահատկությունները:

Ծրագրի աղբյուրը, որպես կանոն, բաղկացած կլինի ենթածրագրերի շարքից: Ավարտելիս ավելի առաջադեմ ծրագրավորում, դուք կբացահայտեք, որ այլ բաներ, բացի ենթաօրենսդրական ծրագրերից, կարող են լինել ծրագրի մի մասը:

Անվանված է այս առանձնահատուկ ենթածրագիրը AboutVB1- ի մասին. Subroutine- ի վերնագիրը պետք է զուգավորված լինի an- ով Վերջ Ենթ ներքեւում. Փակագծերը կարող են ունենալ պարամետրերի ցուցակը, որը բաղկացած է ենթախցիկին փոխանցվող արժեքներից: Այստեղ ոչինչ չի ընդունվում, բայց նրանք պետք է այնտեղ լինեն այնտեղ Ենթ հայտարարություն ամեն դեպքում: Հետագայում, երբ մենք վարում ենք մակրոը, մենք անուն ենք որոնելուAboutVB1- ի մասին.

Ենթածրագրում կա միայն մեկ փաստացի ծրագրի հայտարարություն.

Selection.TypeText տեքստ. = "Բարև աշխարհ:"

Օբեկտներ, մեթոդներ և հատկություններ

Այս հայտարարությունը պարունակում է մեծ երեքը.

  • առարկա
  • մի մեթոդ
  • սեփականություն

Հայտարարության մեջ, փաստորեն, ավելացվում է «Բարև աշխարհ» տեքստը: ընթացիկ փաստաթղթի բովանդակությանը:

Հաջորդ խնդիրը մեր ծրագիրը մի քանի անգամ գործարկելն է: Likeիշտ այնպես, ինչպես մեքենա գնելը, լավ գաղափար է այն վարել որոշ ժամանակով, մինչև այն մի փոքր հարմարավետ զգա: Մենք դա անում ենք հաջորդը:

Ծրագրեր և փաստաթղթեր

Մենք ունենք մեր փառահեղ և բարդ համակարգը… բաղկացած է մեկ ծրագրի հայտարարությունից… բայց հիմա ուզում ենք այն գործարկել: Ահա թե ինչի մասին է խոսքը:

Այստեղ կա մի հասկացություն, որը պետք է սովորել, որը շատ կարևոր է, և այն հաճախ իսկապես շփոթում է առաջին ժամանակաչափերը. Տարբերությունը ծրագիրը եւ փաստաթուղթ. Այս հայեցակարգը հիմնարար է:

VBA ծրագրերը պետք է պարունակվեն հյուրընկալող ֆայլում: Word- ում հաղորդավարը փաստաթուղթն է: Մեր օրինակում դա է AboutVB1.docm- ի մասին. Ծրագիրը փաստորեն պահպանվում է փաստաթղթի ներսում:

Օրինակ, եթե սա Excel- ն էր, մենք կխոսեինք այդ մասին ծրագիրը եւ աղյուսակ. Մուտքում ՝ ծրագիրը եւ տվյալների շտեմարան. Նույնիսկ Visual Basic Windows հավելվածում մենք կունենանք a ծրագիրը և ա ձև.

(Նշում. Ծրագրավորման միտում կա բոլոր մակարդակների բարձր տարաները որպես «փաստաթուղթ» անվանել): Սա հատուկ այն դեպքն է, երբ օգտագործվում է XML… նոր և առաջ եկող տեխնոլոգիա… օգտագործվում է. Թույլ մի տվեք, որ դա ձեզ շփոթեցնի: մի փոքր անճշտություն, դուք կարող եք մտածել «փաստաթղթերի» մասին, քանի որ մոտավորապես նույնն է, ինչ «ֆայլերը»:)

Ձեր VBA մակրոտնտեսությունն իրականացնելու երեք հիմնական եղանակ կա:

  1. Դուք կարող եք այն գործարկել Word- ի փաստաթղթից:
    (Նշում. Երկու ենթադաս ենթակա է ընտրել Մակրոն գործիքների ցանկից կամ պարզապես սեղմել Alt-F8: Եթե մակրոը նշանակել եք Գործիքագոտու կամ Ստեղնաշարի դյուրանցում, դա ևս մեկ եղանակ է:))
  2. Դուք կարող եք այն գործարկել Խմբագրից `օգտագործելով Run պատկերակը կամ Run ընտրացանկը:
  3. Կարող եք մեկ քայլով ծրագրի միջոցով կարգաբերել կարգաբերման ռեժիմում:

Դուք պետք է փորձեք այս մեթոդներից յուրաքանչյուրը պարզապես Word / VBA ինտերֆեյսին հարմարավետ դառնալու համար: Ավարտելուց հետո դուք կունենաք մի ամբողջ փաստաթուղթ, որը լցված է «Բարև աշխարհ» -ի կրկնողություններով:

Ծրագիրը Word- ից վարելը բավականին հեշտ է անել: Պարզապես ընտրեք մակրոը `կտտացնելուց հետո Մակրո պատկերակը տակ Տեսարան ներդիր

Խմբագրիչից այն գործարկելու համար նախ բացեք Visual Basic խմբագիրը, այնուհետև կտտացրեք Run պատկերակը կամ ընտրացանկից ընտրեք Run: Ահա, որտեղ փաստաթղթի և ծրագրի միջև եղած տարբերությունը կարող է շփոթեցնել որոշ մարդկանց: Եթե ​​ունեք այդ փաստաթուղթը նվազագույնի հասցված կամ, հնարավոր է, ձեր պատուհանները դասավորված են, այնպես որ խմբագրիչը ծածկում է այն, կարող եք կրկին և կրկին սեղմել Run պատկերակը, և ոչինչ կարծես չի պատահում: Բայց ծրագիրը շարունակվում է: Կրկին անցեք փաստաթղթին և տեսեք:

Ծրագրով մեկ քայլ անցնելը, թերևս, խնդիրների լուծման ամենաօգտակար տեխնիկան է: Դա արվում է նաև Visual Basic– ի խմբագրից: Սա փորձելու համար սեղմեք F8 կամ ընտրեք Քայլ մտեք ից Դեբյուտ մենյու: Ծրագրում առաջին հայտարարությունը Ենթ հայտարարությունը, կարևորվում է: Սեղմելով F8- ը կատարում են ծրագրի հայտարարությունները մեկ առ մեկ, մինչև ծրագիրը ավարտվում է: Դուք կարող եք տեսնել, թե երբ է տեքստն այսպես ավելացվում փաստաթղթին:

Կան շատ ավելի նրբագեղ կարգաբերման մեթոդներ, ինչպիսիք են 'Breakpoints', 'Անմիջական պատուհանում' ծրագրի առարկաներ ուսումնասիրելը և 'Watch Window' - ի օգտագործումը: Առայժմ պարզապես տեղյակ լինեք, որ սա վրիպազերծման առաջնային տեխնիկա է, որը դուք կօգտագործեք որպես ծրագրավորող:

Օբյեկտի կողմնորոշման ծրագրավորում

Հաջորդ դասի դասը վերաբերում է Օբեկտիվ կողմնորոշման ծրագրավորմանը:

«Whaaattattt»: (Ես լսում եմ, որ հուզում ես) "Ես պարզապես ուզում եմ ծրագրեր գրել: Ես չէի գրանցվել համակարգչային գիտնական լինելու մասին:

Վախեցիր ոչ: Երկու պատճառ կա, թե ինչու է սա հիանալի քայլ:

Նախ, այսօրվա ծրագրավորման միջավայրում դուք պարզապես չեք կարող լինել արդյունավետ ծրագրավորող ՝ առանց հասկանալու օբյեկտիվ ուղղված ծրագրավորման գաղափարներ: Նույնիսկ մեր շատ պարզ մեկ տող «Բարև աշխարհ» ծրագիրը բաղկացած էր օբյեկտից, մեթոդից և գույքից: Իմ կարծիքով, օբյեկտների չհասկանալը մեկնարկային ծրագրավորողների ամենամեծ միակ խնդիրն է: Այսպիսով, մենք պատրաստվում ենք դիմակայել գազանին հենց առջևում:

Երկրորդ, մենք պատրաստվում ենք դա հնարավորինս ցավազերծել: Մենք չենք պատրաստվում ձեզ շփոթեցնել համակարգչային գիտության ժարգոնի մի բեռի հետ:

Դրանից անմիջապես հետո մենք պատրաստվում ենք նորից թռնել ծրագրավորման կոդ գրելու դաս, որտեղ մենք պատրաստում ենք VBA մակրո, որը, հավանաբար, կարող եք օգտագործել: Մենք կատարելագործում ենք այդ ծրագիրը մի փոքր ավելին հաջորդ դասի ընթացքում և ավարտվում ՝ ցույց տալով ձեզ, թե ինչպես միանգամից մի քանի դիմումներով սկսել VBA- ն: