Циљ овог курса је помоћи људима који никада нису написали програм пре него што науче да га пишу. Нема разлога зашто канцеларијски радници, домаћи произвођачи, професионални инжењери и особе које испоручују пице не би требало да користе предности сопствених ручно израђених прилагођених рачунарских програма да раде брже и паметнији. Не би требало да "професионални програмер" (шта год да је то) ради посао. Знате шта треба учинити боље од било кога другог. То можете и сами!
(И кажем то као неко ко је провео много година пишући програме за друге људе... 'професионално'.)
Уз то речено, ово није курс за коришћење рачунара.
Овај курс подразумева да знате како користити популарни софтвер, а посебно што имате Мицрософт Ворд 2007 инсталиран на рачунару. Требали бисте познавати основне рачунарске вештине, на пример како да креирате фасцикле датотека (то је директоријуме) и како да премештате и копирате датотеке. Али ако сте се увек питали шта је заправо рачунарски програм, то је у реду. Показаћемо вам.
Мицрософт Оффице није јефтин. Али можете добити више вредности од тог скупог софтвера који сте већ инсталирали. То је велики разлог који користимо Вижуал бејзик за Апликације или ВБА, заједно са Мицрософт Оффице-ом. Постоје милиони који га имају и шачица (можда нико) која користи све што може.
Пре него што наставимо даље, морам да објасним још једну ствар о ВБА. У фебруару 2002. Мицрософт је направио улог од 300 милијарди долара на потпуно нову технолошку базу за своју целокупну компанију. Назвали су га .НЕТ. Од тада Мицрософт сели читаву своју технолошку базу у ВБ.НЕТ. ВБА је последњи програмски алат који и даље користи ВБ6, испробану и истинску технологију која се користила пре ВБ.НЕТ. (Видећете фразу „заснована на ЦОМ“ да бисте описали ову технологију на нивоу ВБ6.)
ВСТО и ВБА
Мицрософт је створио начин писања ВБ.НЕТ програма за Оффице 2007. Зове се Висуал Студио Тоолс за Оффице (ВСТО). Проблем са ВСТО-ом је што морате да купите и научите да користите Висуал Студио Профессионал. И сам Екцел је и даље базиран на ЦОМ-у и .НЕТ програми морају радити са Екцел-ом преко интерфејса (који се назива ПИА, Примари Интероп Ассембли).
Тако... све док Мицрософт не састави свој чин и не пружи вам начин да пишете програме који ће радити са Ворд-ом и не натерају вас да се придружите ИТ одељењу, макроенергија ВБА је још увек ту.
Други разлог који користимо ВБА је тај што је заиста „потпуно печен“ (није напола печен) развој софтвера окружење које годинама програмери користе за стварање неких од најсофистициранијих система који постоје. Није важно колико су постављене ваше програмске нишанке. Висуал Басиц има моћ да вас тамо одведе.
Шта је макро?
Можда сте користили десктоп апликације које подржавају оно што се раније назива макро језиком. Макрои су традиционално само скрипте радњи на тастатури груписане заједно са једним именом, тако да их можете извршити одједном. Ако увек започнете дан отварањем документа „МиДиари“, уносом данашњег датума и уносом речи „Драги дневник“ - Зашто не бисте дозволили вашем рачунару да то уради за вас? Да би био у складу са осталим софтвером, Мицрософт такође назива ВБА макро језиком. Али није. То је много више.
Многе радне површине укључују софтверски алат који ће вам омогућити да снимите макро „притиском на тастер“. У Мицрософтовим апликацијама овај алат се назива Мацро Рецордер, али резултат није традиционални макро притиска на тастер. То је ВБА програм и разлика је у томе што он не репродукује једноставно притиске тастера. ВБА програм даје вам исти крајњи резултат ако је могуће, али у ВБА можете да напишете и софистициране системе који остављају једноставне макрое на тастатури у прашини. На пример, можете користити Екцел функције у програму Ворд помоћу ВБА. А ВБА можете интегрисати и са другим системима попут база података, интернета или других софтверских апликација.
Иако је ВБА макро снимач веома користан за једноставно креирање једноставних макронаредби на тастатури, програмери открили су да је још корисније покренути их у софистициранијим програмима. То ћемо учинити.
Почетак Мицрософт Ворд 2007 са празним документом и спремите се за писање програма.
Картица Девелопер у програму Ворд
Једна од првих ствари коју морате да урадите да бисте написали програм Висуал Басиц у програму Ворд 2007 јесте пронађите Висуал Басиц! Подразумевано у програму Ворд 2007 није приказивање врпце која се користи. Да бисте додали Девелопер прво кликните картицу Канцеларија дугме (логотип у горњем левом углу) и затим кликните Ворд Оптионс. Кликните на Прикажи картицу за програмере на врпци а затим кликните на ок.
Када кликнете на Девелопер на картици имате читав нови сет алата који се користе за писање ВБА програма. Користићемо ВБА макро снимач за прављење вашег првог програма. (Ако врпца са свим вашим алатима и даље нестаје, можда бисте желели да десним тастером миша кликнете врпцу и проверите Смањите врпцу није потврђено.)
Кликните на Снимите макро. Дајте назив макро: АбоутВБ1 куцањем тог имена у поље Назив макроа поље за текст. Изаберите свој тренутни документ као локацију за смештање макроа и кликните ОК. Погледајте доњи пример.
(Напомена: Ако одаберете Сви документи (Нормал.дотм) из падајућег менија, овај тестни ВБА програм ће у ствари постати део саме Ворд-а јер ће тада постати доступан сваком документу који креирате у програму Ворд. Ако желите да користите макро ВБА само у одређеном документу или ако желите да га можете послати неком другом, боља је идеја да га сачувате као део документа. Нормал.дотм је подразумевана, па је морате променити.)
Када је укључен Макро рекордер, откуцајте текст „Хелло Ворлд“. у Ворд документ. (Показивач миша ће се променити у минијатурну слику тонер касете која ће показати да се бележе притисци на тастер.)
(Напомена: Хелло Ворлд је скоро потребан за "Први програм", јер је први програмски приручник за рано рачунарски језик "Ц" користили. То је традиција од тада.)
Кликните на Заустави снимање. Затворите Ворд и сачувајте документ користећи име: АбоутВБ1.доцм. Морате да изаберете а Ворд макро омогућен документ од Сачувај као тип испустити.
То је то! Сада сте написали Ворд ВБА програм. Да видимо како то изгледа!
Разумевање шта је ВБА програм
Ако сте Ворд затворили, отворите га поново и изаберите АбоутВБ1.доцм датотека коју сте сачували у претходној лекцији. Ако је све урађено исправно, требало би да видите транспарент на врху прозора документа са безбедносним упозорењем.
ВБА и сигурност
ВБА је прави програмски језик. То значи да ВБА може учинити баш све што вам треба. А то, заузврат, значи да ако примите Ворд документ са уграђеним макроом од неког лошег момка, тај макро може такође учинити и готово све. Дакле, Мицрософтово упозорење треба схватити озбиљно. С друге стране, ти написао је овај макро и све што ради је да откуцате "Хелло Ворлд" тако да овде нема ризика. Кликните на дугме да бисте омогућили макрое.
Да бисте видели шта је створио Макро рекордер (као и да бисте урадили већину осталих ствари које укључују ВБА), морате да покренете Висуал Басиц Едитор. На левој страни траке за програмере постоји икона за то.
Прво приметите леви прозор. То се назива Пројецт Екплорер и она групира објекте високог нивоа (разговараћемо више о њима) који су део вашег Висуал Басиц пројекта.
Када је покренут Мацро Рецордер, имали сте избор Нормално предложак или тренутни документ као локацију за ваш макро. Ако сте одабрали Нормал, тада НевМацрос модул ће бити део Нормално огранак екрана Пројецт Екплорер. (Требали сте одабрати тренутни документ. Ако сте изабрали Нормално, обришите документ и поновите претходна упутства.) Изаберите НевМацрос под Модули у вашем тренутном пројекту. Ако се још увек не појави ниједан прозор кода, кликните на Код под Поглед мени.
Ворд документ као ВБА контејнер
Сваки програм Висуал Басиц мора бити у некој врсти датотеке „контејнер“. У случају макронаредби ВБА Ворд 2007, тај спремник је документ ('.доцм') са Ворд-ом. Ворд ВБА програми се не могу покретати без Ворд-а и не можете креирати самосталне ('.еке') Висуал Басиц програме попут Висуал Басиц 6 или Висуал Басиц .НЕТ. Али то још увек оставља читав свет ствари које можете да учините.
Ваш први програм је свакако кратак и сладак, али послужиће за увођење главних карактеристика ВБА и Висуал Басиц Едитор-а.
Програмски извор се обично састоји од низа подпрограма. Када пређете на напредније програмирање, открит ћете да и друге ствари могу бити део програма осим подпрограма.
Ова посебна подпрограм је именована АбоутВБ1. Заглавље подпрограма мора бити упарено са Енд Суб на дну. Заграде могу садржавати листу параметара која се састоји од вриједности које се просљеђују подпрограму. Овде се ништа не преноси, али они морају бити тамо Суб изјава ионако. Касније, када покренемо макро, потражићемо име АбоутВБ1.
У подпрограму постоји само једна стварна програмска изјава:
Избор. ТипеТект Тект: = "Здраво свет!"
Објекти, методе и својства
Ова изјава садржи велику тројку:
- објекат
- метод
- имање
Изјава заправо додаје текст „Здраво свету“. на садржај текућег документа.
Следећи задатак је покретање нашег програма неколико пута. Баш као што купујете аутомобил, добра је идеја возити га на неко време док се не осећа мало угодно. То ћемо урадити следеће.
Програми и документи
Имамо сјајан и компликован систем... која се састоји од једне програмске изјаве... али сада га желимо покренути. Ево о чему се ради.
Овдје се мора научити један концепт који је врло важан и често збуњује првопријављене: разлика између програм и тхе документ. Овај концепт је утемељен.
ВБА програми морају бити садржани у датотеци главног рачунала. У Ворд-у је домаћин документ. У нашем примеру је то АбоутВБ1.доцм. Програм се заправо спрема унутар документа.
На пример, да је то Екцел, говорили бисмо о програм и тхе Табела. У приступу, програм и тхе база података. Чак и у самосталној апликацији Висуал Басиц Виндовс имали бисмо програм и а форма.
(Напомена: Постоји тренд у програмирању да се сви контејнери високог нивоа називају "документ". То се посебно догађа када КСМЛ... нова технологија која долази и долази... се користи. Не дозволите да вас збуњују. Иако је блага нетачност, можете да сматрате да су „документи“ отприлике исти као „датотеке“.)
Постоје... уммммм... о три главна начина за покретање макро ВБА.
- Можете да је покренете из документа Ворд.
(Напомена: Две поткатегорије су да изаберете Макронаредбе из менија Алатке или само притисните Алт-Ф8. Ако сте додијелили макронаредбу пречици Тоолбар или Кеибоард, то је још један начин.)) - Можете га покренути из програма Едитор користећи икону Рун или мени Рун.
- Можете да направите један корак кроз програм у режиму уклањања грешака.
Требали бисте испробати сваку од ових метода само да бисте се пријали Ворд / ВБА интерфејсу. Када завршите, имаћете цео документ испуњен понављањима "Хелло Ворлд!"
Покретање програма из програма Ворд је прилично једноставно. Једноставно изаберите макронаредбу након што кликнете на Макро икону испод Поглед картицу.
Да бисте га покренули из Едитор-а, прво отворите Висуал Басиц уређивач, а затим или кликните икону Покрени или из менија одаберите Рун. Ево где би разлика између Документа и Програма могла да постане збуњујућа за неке. Ако сте документ смањили или сте можда уредили свој прозор тако да га уређивач прекрива, можете кликнути икону Покрени поново и поново и чини се да се ништа неће догодити. Али програм се покреће! Пребаците се на документ поново и погледајте.
Појединачно прелазак кроз програм је вероватно најкориснија техника решавања проблема. То се такође ради из уређивача Висуал Басиц. Да бисте испробали ово, притисните Ф8 или изаберите Закорачити од Дебуг мени. Прва изјава у програму Суб изјава, је истакнута. Притиском на Ф8 извршава се изјава једног по једног док се програм не заврши. Тачно можете видети када се текст на овај начин додаје документу.
Постоји много прочишћених техника за уклањање погрешака попут „Бреакпоинтс“, прегледа програмских објеката у „непосредном прозору“ и употребе „Ватцх Виндов“. Али за сада, једноставно будите свјесни да је ово примарна техника уклањања погрешака коју ћете користити као програмер.
Објектно оријентисано програмирање
Следећа лекција је све о томе Објектно оријентисано програмирање.
"Вхааааттттт!" (Чујем како стењате) „Само желим да пишем програме. Нисам се пријавио да будем информатичар! "
Не плаши се! Два су разлога због којих је ово сјајан потез.
Прво, у данашњем програмском окружењу једноставно не можете бити ефикасан програмер без разумевања објектно оријентисаних концепата програмирања. Чак се и наш веома једноставни једноредни програм „Хелло Ворлд“ састојао од објекта, методе и својства. По мом мишљењу, неразумевање објеката је највећи појединачни проблем који програмери почињу. Значи, супротставит ћемо се звијери напријед!
Друго, то ћемо учинити што безболнијим. Нећемо вас збунити са мноштвом жаргона информатике.
Али одмах након тога вратит ћемо се одмах на писање програмског кода уз лекцију гдје развијамо ВБА макро који вјероватно можете користити! Усавршавамо тај програм још мало у следећој лекцији и на крају ћемо вам показати како почети да користите ВБА са неколико апликација одједном.