Контролишите Ворд из програма Екцел користећи ВБА у програму Мицрософт Екцел 2010

Anonim

Много пута морате копирати податке из екцел датотеке у ворд документ. То можете учинити помоћу макроа врло лако. Макро ће отворити нови / постојећи ворд доц, копирати садржај, а затим сачувати и затворити реч доц. Да видимо како се то ради.

Код који можете да користите је -

Опција Експлицитно

Под ЦреатеНевВордДоц ()
Дим и Ас Интегер
Затамните врдАпп као објекат, врдДоц као објекат
Подесите врдАпп = ЦреатеОбјецт („Ворд.Апплицатион“)
врдАпп.Висибле = Тачно
Подесите врдДоц = врдАпп.Доцументс.Адд
Са врдДоц
За и = 1 до 100
.Цонтент.ИнсертАфтер „Ево примера тест линије #“ & и
.Цонтент.ИнсертПараграпхАфтер
Затим сам
Ако Дир ("Б: \ Тест \ МиНевВордДоц.доцк") "" Затим убијте "Б: \ Тест \ МиНевВордДоц.доцк"
.СавеАс („Б: \ Тест \ МиНевВордДоц.доцк“)
.Близу
Завршити
врдАпп.Куит
Сет врдДоц = Ништа
Подесите врдАпп = Ништа
Енд Суб

Да бисте копирали горњи код у своју датотеку,

  • Притисните Алт + Ф11 на тастатури
  • Са леве стране видећете Мицрософт Екцел објекте
  • Кликните десним тастером миша и изаберите Уметни
  • Затим кликните на Модул
  • Копирајте код у кодни прозор са десне стране

Сада да видимо како овај код функционише -

Прво декларишемо променљиве које су нам потребне -и као цео број за повећање сваког реда јер се попуњава од екцел датотеке до речи доц. Затим 2 променљиве објекта врдАпп и врдДоц, врдАпп је објект Ворд апликације, а врдДоц је објект Ворд документа.

Подесите врдАпп = ЦреатеОбјецт („Ворд.Апплицатион“)

Ако је Ворд већ покренут у вашем систему,ЦреатеОбјецт ће створити нову инстанцу Ворда. Дакле, ова линија додељује променљиву објекта врдАпп Ворд апликацији коју касније можете користити у коду.

врдАпп.Висибле = Тачно

Новостворена инстанца Ворда неће бити видљива када се креира. Да бисте га учинили видљивим, морате поставити врдАпп.Висибле = Труе тако да буде видљив.

Подесите врдДоц = врдАпп.Доцументс.Адд

Направили смо нову инстанцу речи апплицатион, али још нисмо отворили празан ворд документ. Дакле, ова команда ће отворити нови ворд документ. Објекат врдДоц је додељен овом новом документу тако да га касније можемо користити у коду.

Ако не желите да отворите нову радну свеску, већ отворите постојећу, можете ову линију заменити са

Подесите врдДоц = врдАпп.Доцументс.Опен („Б: \ Моји документи \ ВордДоцс \ Доц1.доцк“)

Ова линија отвара постојећи ворд документ који је сачуван на наведеној локацији.

Са врдДоц… .Крај са

Ово је наша петља „Витх“ која ће у потпуности радити са врдДоц објектом. Када отворите ову петљу, не морате поново да понављате текст „врдДоц“ у овој петљи. Можете директно почети са тачком (“.”) Пре било каквих објеката који се односе на врдДоц. Ова петља се завршава са Завршити изјава. Након што је унета наредба Енд Витх, не можете се позивати на објекте након врдДоц само са „.“.

За и = 1 до 100
.Цонтент.ИнсертАфтер „Ево примера тест линије #“ & и
.Цонтент.ИнсертПараграпхАфтер
Затим сам

Ово је петља „За“. Повећава се од 1 до 100 и при сваком повећању убацује ред са текстом „Ево примера пробне линије #“, а затим додаје број прираста. Затим убацује прелом реда / прелом пасуса тако да се следећи прираст појави у следећем реду, попут новог пасуса.

Дакле, овај процес ће се поновити 100 пута, јер фор петља садржи Фор и = 1 до 100. Ово је излаз који ћете добити -

Ако Дир ("Б: \ Тест \ МиНевВордДоц.Доцк") "" Затим убијте "Б: \ Тест \ МиНевВордДоц.доцк"

.СавеАс („Б: \ Тест \ МиНевВордДоц.доцк“)

.Близу

Када се петља „За“ заврши, код ће проверити да ли датотека МиНевВордДоц.доцк постоји. Ако то уради, избрисаће га. А затим ће сачувати нову датотеку на исто име и затворити датотеку.

врдАпп.Куит

Сет врдДоц = Ништа
Подесите врдАпп = Ништа

Реч апликација је затворена, а затим ће 2 створена објекта бити ослобођена или постављена на „Ништа“, тако да се ослобађа меморија коју заузимају ови објекти. Ово је читав код који брине о копирању садржаја из програма екцел у ворд.