Добро дошли у наш Мега-водич за Ворд ВБА / макрое!
Ова страница садржи:
-
- Ворд ВБА водич ПДФ (бесплатно преузимање)
- Ворд ВБА „Цхеат Схеет“ који садржи листу најчешће коришћених фрагмената кода Ворд ВБА
- Пуни Ворд ВБА / Макро водич.
- Листа свих наших Ворд ВБА макро водича за претраживање
Можда ће вас занимати и наш Интерактивни ВБА водич за Екцел. Иако су неки од примера / вежби специфични за Екцел ВБА, велики део садржаја је општи за све ВБА и можда ће вам бити корисно да научите концепте као што су Иф Статементс, Лоопс, МессагеБокес итд.
ВБА ПДФ (бесплатно преузимање)
Преузмите наш бесплатни водич за Мицрософт Ворд ВБА! Или ВБА водичи за друге Оффице програме!
Преузимање
Примери Ворд ВБА „ЦхеатСхеет“
Испод ћете пронаћи једноставне примере ВБА кода за рад са Мицрософт Ворд -ом.
Изаберите / Иди на
ОписВБА кодБацкспацеСелецтион.ТипеБацкспацеИзаберите Цео документСелецтион.ХомеКеи Унит: = вдСториСелецтион.ЕктендЦопиСелецтион.ЦопиИзбришиСелецтион.Делете Унит: = вдЦхарацтер, Цоунт: = 1Инсерт АфтерСелецтион.ИнсертАфтер „тект“Почетак линијеСелецтион.ХомеКеи Унит: = вдЛинеКрај линијеСелецтион.ЕндКеи Унит: = вдЛинеЗалепиСелецтион.ПастеИзабери свеСелецтион.ВхолеСториИзаберите Цела линијаСелецтион.ЕндКеи Унит: = вдЛине, Ектенд: = вдЕктендПомери пасус нагореСелецтион.МовеУп Унит: = вдПараграпх, Цоунт: = 1Помери се за један знак удесноСелецтион.МовеРигхт Јединица: = вдЦхарацтер, Цоунт: = 1Померите једну ћелију десно у табелиСелецтион.МовеРигхт Унит: = вдЦеллИдите на почетак документаСелецтион.ХомеКеи Унит: = вдСториИдите на крај документаСелецтион.ЕндКеи Унит: = вдСториИдите на страницу 1Селецтион.ГоТо Вхат: = вдГоТоПаге, Вхицх: = вдГоТоНект, Наме: = ”1 ″Иди на врх страницеСелецтион.ГоТо Вхат: = вдГоТоБоокмарк, Наме: = ”\ Страница”
Селецтион.МовеЛефт Унит: = вдЦхарацтер, Цоунт: = 1
Повратак на врх
обележивача
ОписВБА кодДодатиСа АцтивеДоцумент.Боокмаркс.Додајте опсег: = Селецтион.Ранге, Наме: = ”Наме”
.ДефаултСортинг = вдСортБиНаме
.СховХидден = Нетачно
ЗавршитиЦоунтДим н као Интегер
н = АцтивеДоцумент. Боокмаркс.ЦоунтИзбришиАцтивеДоцумент.Боокмаркс (“БоокмаркНаме”). ИзбришитеПостоји?Ако је АцтивеДоцумент.Боокмаркс.Екистс (“БоокмаркНаме”) = Тачно
'Уради нешто
Крај АкоИди наСелецтион.ГоТо Вхат: = вдГоТоБоокмарк, Наме: = ”БоокмаркНаме”ИзаберитеАцтивеДоцумент.Боокмаркс (“БоокмаркНаме”). ИзаберитеЗамени текстСелецтион.ГоТо Вхат: = вдГоТоБоокмарк, Наме: = ”БоокмаркНаме”
Селецтион.Делете Унит: = вдЦхарацтер, Цоунт: = 1
Селецтион.ИнсертАфтер „Нев Тект“
АцтивеДоцумент.Боокмаркс.Адд Ранге: = Селецтион.Ранге, _
Наме: = ”БоокмаркНаме”
Повратак на врх
Документ
ОписВБА кодАктивиратиДокументи („Пример.доц“). АктивирајтеДодај у променљивуДим доц као документСет доц = Доцументс.АддДодатиДоцументс.АддДодај (из другог документа)Доцументс.Адд Темплате: = ”Ц: \ Формс \ ФормДоц.доц”, _
НевТемплате: = НетачноБлизуДокументи („Пример.доц“). ЗатворитиЗатвори - Сачувај променеДокументи („Пример.доц“). Затворите СавеЦхангес: = вдСавеЦхангесЗатвори - Не чувајДокументи („Екампле.доц“). Затворите СавеЦхангес: = вдДоНотСавеЦхангесЗатвори - Одмах затражите да сачуватеДокументи („Екампле.доц“). Затворите СавеЦхангес: = вдПромптТоСавеЦхангес
Повратак на врх
Колоне
ОписВБА кодСачувај каоДокументи („Пример.доц“). СавеАс („Ц: \ Пример \ Пример.доц“)сачуватиДокументи („Пример.доц“). СачувајПротецтДокументи („Пример.доц“). Заштитите лозинку: = „лозинка“Уклони заштитуДокументи („Пример.доц“). УнПротецт Пассворд: = „лозинка“Број странаДим варНумберПагес као ВариантварНумберПагес = _
АцтивеДоцумент.Цонтент.Информатион (вдАцтивеЕндАдјустедПагеНумбер)ШтампајДокументи („Пример.доц“). Штампај
Повратак на врх
Уморни сте од тражења примера ВБА кода? Испробајте АутоМацро!Фонт
ОписВБА кодВеличинаСелецтион.Фонт.Сизе = 12ОдважанСелецтион.Фонт.Болд = ТачноКурзивСелецтион.Фонт.Италиц = ТачноПодвућиСелецтион.Фонт.Ундерлине = вдУндерлинеСинглеСве капеСелецтион.Фонт.АллЦапс = ТачноБојаСелецтион.Фонт.ТектЦолор = вбРедИмеСелецтион.Фонт.Наме = “Абади”СубсцриптСелецтион.Фонт.Субсцрипт = ТачноСуперСцриптСелецтион.Фонт.Суперсцрипт = ТачноБоја истицањаСелецтион.Ранге.ХигхлигхтЦолорИндек = вдИелловСтилСелецтион.Стиле = АцтивеДоцумент.Стилес (“Нормално”)Повратак на врх
Инсерт
ОписВБА кодУметните аутотекстСелецтион.ТипеТект Тект: = ”а3 ″Селецтион.Ранге.ИнсертАутоТектУметните код датумаУметни датотекуСелецтион.ИнсертФиле (“Ц: \ Доцс \ Сометхинг.доц”)Уметните прелом страницеСелецтион.ИнсертБреак Типе: = вдПагеБреакУметните симбол пасусаСелецтион.ТипеТект Тект: = Цхр $ (182)Уметните картицуСелецтион.ТипеТект Тект: = вбТабУметни текстСелецтион.ТипеТект Тект: = ”Било који текст”Уметните параграф типаСелецтион.ТипеПараграпхУметните параграфСелецтион.ИнсертПараграпх
Повратак на врх
Петље
ОписВБА кодУрадите до краја докУради до АцтивеДоцумент.Боокмаркс (“\ Сел”) = АцтивеДоцумент.Боокмаркс (“\ ЕндОфДоц”)'Уради нешто
СубЗа сваки документ у ДокументимаДим доц као документ
ФорЕацх доц У документима
'Уради нешто
Следећи доцПрођите кроз параграфеПод кроз параграфе
Дим и Ас Лонг, иПарЦоунт Ас Лонг
иПарЦоунт = АцтивеДоцумент.Параграпхс.ЦоунтФори = 1 За иПарЦоунт
АцтивеДоцумент.Параграпхс (и) .Алигнмент = вдАлигнПараграпхЛефт
Затим сам
Повратак на врх
Параграф
ОписВБА кодКеепЛинесТогетхерСелецтион.ПараграпхФормат.КеепТогетхер = ТачноКеепВитхНектСелецтион.ПараграпхФормат.КеепВитхНект = ТачноСпаце АфтерСелецтион.ПараграпхФормат.СпацеАфтер = 12Спаце БефореСелецтион.ПараграпхФормат.СпацеБефоре = 0Алигн ЦентерСелецтион.ПараграпхФормат.Алигнмент = вдАлигнПараграпхЦентерАлигн РигхтСелецтион.ПараграпхФормат.Алигнмент = вдАлигнПараграпхРигхтПоравнати левоСелецтион.ПараграпхФормат.Алигнмент = вдАлигнПараграпхЛефтЛево увлачењеСелецтион.ПараграпхФормат.ЛефтИндент = ИнцхесТоПоинтс (3.75)Десни увлачењеСелецтион.ПараграпхФормат.РигхтИндент = ИнцхесТоПоинтс (1)ПроредВитх Селецтион.ПараграпхФормат.ЛинеСпацингРуле = вдЛинеСпацеЕкацтли
.ЛинеСпацинг = 12
ЗавршитиПрођите кроз све параграфеПод кроз параграфе
Дим и Ас Лонг, иПарЦоунт Ас Лонг
иПарЦоунт = АцтивеДоцумент.Параграпхс.ЦоунтФори = 1 За иПарЦоунт
АцтивеДоцумент.Параграпхс (и) .Алигнмент = вдАлигнПараграпхЛефт
Затим сам
Повратак на врх
Ворд ВБА Макро водич
Ово је водич за коришћење ВБА са Мицрософт Ворд -ом. Овај водич ће вас научити како написати једноставан макро и комуницирати са документима, опсезима, изборима и параграфима.
Напомена: Ако сте потпуно нови у Макроима / ВБА, овај чланак би вам могао бити такође користан: Како написати ВБА макрое из огреботина.
ВБА је програмски језик који се користи за аутоматизацију програма Мицрософт Оффице, укључујући Ворд, Екцел, Оутлоок, ПоверПоинт и Аццесс.
Макрои су блокови ВБА кода који извршавају одређене задатке.
Када ти Снимите макро, Ворд ће уписати ВБА код у макро, омогућавајући вам да поновите своје радње. Можете видети листу свих доступних макроа из Приказ> Макрои.
Након снимања макроа, моћи ћете да уређујете макро са листе макроа:
Када кликнете Уредити, отворите ВБА Едитор. Помоћу ВБА уређивача можете уређивати снимљене макрое или писати Ворд макро од нуле. За приступ ВБА Едитору користите пречицу АЛТ + Ф11 или кликните Вижуал бејзик од Девелопер Риббон.
Пример једноставног Ворд макроа
Ово је једноставан пример Ворд ВБА макроа. Обавља следеће задатке:
- Отвара Ворд документ
- Записује у документ
- Затвара и чува Ворд документ.
123456789101112131415 | Под ВордМацроЕкампле ()'Отвори документ и додели променљивојДим оДоц као документПодесите оДоц = Доцументс.Опен ("ц: \ Усерс \ сомеоне \ НевДоцумент.доцк")'Пишите ДокСелецтион.ТипеТект "ввв.аутоматеекцел.цом"Селецтион.ТипеПараграпх'Сачувај и затвори ДокоДоц.СавеоДоц.ЦлосеЕнд Суб |
Основи макроа речи
Сав ВБА код мора бити ускладиштен у оваквим процедурама. Да бисте креирали процедуру у ВБА, унесите „Суб ВордМацроЕкампле“ (где је „ВордМацроЕкампле“ жељени назив макроа) и притисните ЕНТЕР. ВБА ће аутоматски додати заграде и Енд Суб.
Ворд Доцумент Објецт
Када комуницирате са Мицрософт Ворд -ом у ВБА -у, често ћете референцирати Ворд -ове „објекте“. Најчешћи објекти су:
Објекат апликације - Сам Мицрософт Ворд
Објекат документа - Ворд документ
Објекат домета - Део Ворд документа
Објекат за избор - Изабрани опсег или локација курсора.
Апликација
Апликација је објекат „највишег нивоа“. Преко њега се може доћи до свих других објеката у Ворду.
Осим приступа другим Ворд објектима, постоје и поставке на нивоу апликације које се могу применити:
1 | Апплицатион.Оптионс.АлловДрагАндДроп = Тачно |
Ово је пример приступа „Одабиру“ „Виндовс (1)“ помоћу у апликацији:
1 | Апплицатион.Виндовс (1) .Селецтион.Цхарацтерс.Цоунт |
Међутим, најчешћим Ворд објектима се може приступити директно, без уписивања целе хијерархије. Уместо тога, можете (и требали бисте) само да откуцате:
1 | Селецтион.Цхарацтерс.Цоунт |
Документи
АцтивеДоцумент
Често ћете имати два или више докумената отворених у Ворду и мораћете да наведете са којим специфичним Ворд документом желите да ступите у интеракцију. Један од начина да наведете који документ треба да користите АцтивеДоцумент. На пример:
1 | АцтивеДоцумент.ПринтОут |
… штампао би АцтивеДоцумент. АцтивеДоцумент је документ у Ворду који „има фокус“
Да бисте пребацили АцтивеДоцумент, користите команду Ацтивате:
1 | Документи ("Пример.доцк"). Активирајте |
Овај документ
Уместо да користите АцтивеДоцумент за позивање на активни документ, можете користити ТхисДоцумент за упућивање на документ у коме је макро ускладиштен. Овај документ се никада неће променити.
1 | ТхисДоцумент.ПринтОут |
Променљиве документа
Међутим, за сложеније макрое може бити тешко пратити активни документ. Такође може бити фрустрирајуће пребацивање између докумената.
Уместо тога, можете користити променљиве документа.
Овај макро ће доделити АцтивеДоцумент променљивој и затим одштампати документ помоћу променљиве:
12345 | Под ВарЕкампле ()Дим оДоц као документПоставите оДоц = АцтивеДоцументоДоц.ПринтОутЕнд Суб |
Методе докумената
Отворите документ
Да бисте отворили Ворд документ:
1 | Доцументс.Опен "ц: \ Усерс \ СомеОне \ Десктоп \ Тест ПМ.доцк" |
Препоручујемо да увек додељујете документ променљивој по отварању:
12 | Дим оДоц као документПодесите оДоц = Доцументс.Опен ("ц: \ Усерс \ СомеОне \ Десктоп \ Тест ПМ.доцк") |
Креирајте нови документ
Да бисте креирали нови Ворд документ:
1 | Доцументс.Адд |
Можемо упутити Ворд да створи нови документ на основу неког предлошка:
1 | Доцументс.Адд Темплате: = "Ц: \ Програм Филес \ Мицрософт Оффице \ Темплатес \ МиТемплате.дотк" |
Као и увек, корисно је и уштедети велике проблеме при додељивању документа променљивој при креирању или отварању:
12 | Дим оДоц као документПодесите оДоц = Доцументс.Адд (Темплате: = "Ц: \ Програм Филес \ Мицрософт Оффице \ Темплатес \ МиТемплате.дотк") |
Сачувај документ
Да бисте сачували документ:
1 | АцтивеДоцумент.Саве |
или СавеАс:
1 | АцтивеДоцумент.СавеАсНазив датотеке: = ц: \ Усерс \ СомеОне \ Десктоп \ тест2.доцк ", ФилеФормат: = вдФорматДоцумент |
Затворите документ
Да бисте затворили документ и сачували промене:
1 | АцтивеДоцумент.Цлосе вдСавеЦхангес |
или без чувања промена:
1 | АцтивеДоцумент.Цлосе вдДоНотСавеЦхангес |
Одштампај документ
Ово ће одштампати активни документ:
1 | АцтивеДоцумент.ПринтОут |
Опсег, избор, одломци
Домет и Избор су вероватно најважнији објекти у програму Ворд ВБА, свакако највише коришћени.
Домет односи се на неки део документа, обично, али не нужно, текст.
Избор односи се на изабрани текст (или неки други објект попут слика) или, ако ништа није одабрано, на тачку уметања.
Параграфи представљају параграфе у документу. Мање је важно него што звучи, јер не можете директно приступити тексту пасуса (морате да приступите одређеном опсегу пасуса да бисте унели измене).
Домет
Распон може бити било који део документа, укључујући цео документ:
12 | Дим оРанге Ас РангеПодесите оРанге = АцтивеДоцумент.Цонтент |
или може бити мали као један лик.
Још један пример, овај опсег би се односио на прву реч у документу:
12 | Дим оРанге Ас РангеПостави оРанге = АцтивеДоцумент.Ранге.Вордс (1) |
Обично бисте желели да добијете опсег који се односи на одређени део документа, а затим га измените.
У следећем примеру прву реч другог пасуса ћемо подебљати:
123 | Дим оРанге Ас РангеПостави оРанге = АцтивеДоцумент.Параграпхс (2) .Ранге.Вордс (1)оРанге.Болд = Тачно |
Постави текст опсега
Да бисте поставили текстуалну вредност опсега:
123 | Дим оРанге Ас РангеПостави оРанге = АцтивеДоцумент.Параграпхс (2) .Ранге.Вордс (1)оРанге.Тект = „Здраво“ |
(Савет: Обратите пажњу на размак иза „Здраво“. Пошто објект речи садржи размак по реч, само са „здраво“ добили бисмо „реч Хеллонект“)
Постоји стотине ствари које можете учинити са распонима. Само неколико примера (они претпостављају да сте већ постали променљива објекта оРанге односи се на опсег интересовања):
Промените фонт
1 | оРанге.Фонт.Наме = "Ариал" |
Прикажите број знакова у оквиру за поруке у одређеном опсегу
1 | МсгБок оРанге.Цхарацтерс.Цоунт |
Уметните неки текст испред њега
1 | оРанге.ИнсертПре „ово је уметнути текст“ |
Додајте фусноту у опсег
12 | АцтивеДоцумент.Фоотнотес.Адд Ранге: = оРанге, _Текст: = "Прочитајте више на еасиекцел.нет." |
Копирајте га у међуспремник
1234 | оРанге.ЦопиЧесто морате да промените оно на шта се односи одређени опсег. Тако да можете започети почетак и крајоРанге.Старт = 5оРанге.Енд = 50 |
После горњег кода, оРанге ће се односити на текст који почиње са петим и завршава са 50. знаком у документу.
Избор
Избор се још више користи од Домет, јер је са њим лакше радити Селецтионс него Домети, АКО САМО ваш макро ступа у интеракцију са АцтивеДоцументом.
Прво изаберите жељени део документа. На пример, изаберите други пасус у активном документу:
1 | АцтивеДоцумент.Параграпхс (2) .Ранге.Селецт |
Затим можете користити Објекат за избор да откуцате неки текст:
1 | Селецтион.ТипеТект "Неки текст" |
Можемо откуцати неке пасусе испод „Неки текст“:
12 | Селецтион.ТипеТект "Неки текст"Селецтион.ТипеПараграпх |
Често је потребно знати да ли је неки текст изабран или имамо само тачку уметања:
12345 | Ако је Селецтион.Типе вдСелецтионИП ТхенСелецтион.Фонт.Болд = ТачноИначеМсгБок "Морате да изаберете неки текст."Крај Ако |
Приликом рада са објектом Селецтион желимо поставити тачку уметања на одређено место и издати команде почевши од ове тачке.
Почетак документа:
1 | Селецтион.ХомеКеи Унит: = вдСтори, Ектенд: = вдМове |
Почетак тренутне линије:
1 | Селецтион.ХомеКеи Унит: = вдЛине, Ектенд: = вдМове |
Параметар Ектенд вдМове помера тачку уметања. Уместо тога, можете користити вдЕктенд који ће изабрати сав текст између тренутне тачке уметања.
1 | Селецтион.ХомеКеи Унит: = вдЛине, Ектенд: = вдЕктенд |
Премести избор
Најкориснији метод за промену положаја тачке уметања је Помери. Да бисте померили селекцију два знака напред:
1 | Селецтион.Мове Унит: = вдЦхарацтер, Цоунт: = 2 |
да бисте га померили уназад, користите негативни број за параметар Цоунт:
1 | Селецтион.Мове Унит: = вдЦхарацтер, Цоунт: =-2 |
Параметар јединице може бити вдЦхарацтер, вдВорд, вдЛине или више (користите помоћ Ворд ВБА да бисте видели друге).
Да бисте уместо тога преместили речи:
1 | Избор.Премештање јединице: = вдВорд, Број: = 2 |
Са избором је лакше радити (у поређењу са опсезима) јер је попут робота који користи Ворд, опонашајући људског корисника. Тамо где је тачка уметања - догодила би се нека радња. Али, то значи да морате водити рачуна о месту уметања! Ово није лако након много корака у коду. У супротном, Ворд би променио текст на нежељеном месту.
У случају да вам је потребно неко својство или метода која није доступна у објекту Селецтион, увек можете лако добити опсег повезан са избором:
1 | Постави оРанге = Избор.Ранге |
САВЕТ: Коришћење Избор често је лакше него коришћење опсега, али је и много спорије (важно када се бавите великим документима)
Параграфи
Не можете директно да користите објект Параграфи за промену текста:
1 | АцтивеДоцумент.Параграпхс (1) .Тект = "Не, не би радило" |
Горе наведено не би функционисало (заправо ће изазвати грешку). Прво морате да добијете опсег повезан са одређеним пасусом:
1 | АцтивеДоцумент.Параграпхс (1) .Ранге.Тект = "Сада ради :)" |
Али можете директно променити његов стил:
1 | АцтивеДоцумент.Параграпхс (1) .Стиле = "Нормал" |
или промените обликовање на нивоу пасуса:
1 | АцтивеДоцумент.Параграпхс (1) .ЛефтИндент = 10 |
или можда желите да задржите овај пасус у истом реду са следећим пасусом:
1 | АцтивеДоцумент.Параграпхс (1) .КеепВитхНект = Тачно |
Нека параграф буде центриран:
1 | АцтивеДоцумент.Параграпхс (1) .Алигнмент = вдАлигнПараграпхЦентер |
ЈАКО је корисно доделити одређени пасус објектној променљивој. Ако променљивој доделимо одређени пасус, не морамо да бринемо ако први пасус постане други јер смо испред њега уметнули један пасус:
12 | дим оПара као ПараграфПоставите оПара = Селецтион.Параграпхс (1) 'овде додељујемо први пасус тренутног избора променљивој |
Ево примера где убацујемо одломак изнад првог пасуса, али се и даље можемо позивати на стари први одломак јер је додељен променљивој:
1234567 | ПотпараграфПример ()Дим оПара Као ПараграфПостави оПара = АцтивеДоцумент.Параграпхс (1)МсгБок оПара.Ранге.ТектоПара.Ранге.ИнсертПараграпхБефоре 'Инсерт ПараграпхМсгБок оПара.Ранге.ТектЕнд Суб |
Објекат параграфа се врло често користи у петљама:
123456789101112 | Суб ЛоопТхроугхПараграпхс ()Дим оПара Као ПараграфЗа сваки оПара у АцтивеДоцумент.Параграфиуради нешто с тим. Само ћемо приказати„текст пасуса ако је његов стил„ Наслов 4 “Ако је оПара.Стиле = "Наслов 4" ЗатимМсгБок оПара.Ранге.ТектКрај АкоСледећа оПараЕнд Суб |
Ворд ВБА Водич Закључак
Овај водич је обухватио основе Ворд ВБА. Ако сте тек почели да користите ВБА, требало би да прегледате и наш општи ВБА водич како бисте сазнали више о променљивим, петљама, оквирима за поруке, поставкама, условној логици и још много тога.
Примери макроа речи
Примери макроа речи |
---|
Темплатес |
Додајте нове документе |
Бројање речи у избору |
ТектБокес |
Сачувај као ПДФ |
обележивача |
Табеле |
Пронађи и пронађи и замени |
Отворите документе |
Честа питања о Ворд ВБА
Шта је Ворд макро?
Макро је општи термин који се односи на скуп програмских инструкција које аутоматизују задатке. Ворд макрои аутоматизују задатке у програму Ворд помоћу програмског језика ВБА.
Да ли реч има ВБА?
Да, Мицрософт Ворд има ВБА Едитор. Може се приступити притиском на АЛТ + Ф11 или одласком на Девелопер> Висуал Басиц.
Како да користим ВБА у Ворду?
1. Отворите ВБА Едитор (АЛТ + Ф11 или Девелопер> Висуал Басиц)
2. Идите на Уметни> Модул да бисте креирали кодни модул
3. Откуцајте „Суб ХеллоВорлд“ и притисните Ентер
4. Између редова „Суб ХеллоВорлд“ и „Енд Суб“ откуцајте „МсгБок„ Хелло Ворлд! “
5. Направили сте макро!
6. Сада притисните „Ф5“ да бисте покренули макро