У овом чланку ћемо научити како аутоматизовати спајање поште помоћу ВБА у програму Мицрософт Екцел.
Спајање поште: - Ово је извор за спајање података у текст и штампање документа. Да бисмо извршили такву операцију, користимо Мицрософт Ворд.
Хајде да разумемо једноставном вежбом:-
Имамо формат писма у листу извештаја и желимо да применимо спајање поште кроз ВБА у коме желимо да променимо и детаље о писму.
Имамо 2 листа. 1 лист садржи податке са детаљима коме желимо да дамо писма. У првим подацима, колона А садржи име, колона Б садржи адресу, колона Ц садржи град, колону Д регион, а колона Е и колона Ф садрже поштански број. На листу извештаја постоји једно командно дугме за померање.
2нд лист има формат слова са 2 командна дугмета; једно дугме за померање по листу са подацима, а друго командно дугме за спајање поште
Прво ћемо написати ВБА код за командно дугме Главни подаци. Морамо да следимо доле наведене кораке:-
- Прво ћемо уметнути командно дугме у радни лист.
- Идите на картицу Девелопер, а затим уметните командно дугме из програма Ацтивекцонтрол.
- Преименујте командно дугме са именом „Слово“ и сада доделите доле поменути макро:-
Приватни под Маин_дата_Цлицк ()
Радни листови („Извештај“). Активирајте
Домет („А19“). Прикажи
Енд Суб
Сада ћемо уметнути друго командно дугме у лист са извештајима и доделити макро за кретање на првом листу. Морамо да следимо доле наведене кораке:-
- Преименујте командно дугме са именом „Подаци“ и доделите доле поменути макро:-
Приватна под командаБуттон2_Цлицк ()
Радни листови ("Маин_Дата"). Активирајте
Распон („А1“). Прикажи
Енд Суб
Сада ћемо написати главни код за спајање поште следећим корацима испод:-
Уметните командно дугме и преименујте га у „Леттер Принт“, а затим доделите доле наведени код:-
Приватна под -командаБуттон1_Цлицк ()
Дим СтартровАс Интегер, ластров Ас Интегер
Дим МсгАс Стринг
Дим ТоталрецордсАс Стринг
Дим назив Ас Стринг, Стреет_АддрессАс Стринг, град Ас Стринг, регион Ас Стринг, држава Ас Стринг, поштански број Ас Стринг
Тоталрецордс = "= цоунта (Маин_Дата! А: А)"
Опсег ("Л1") = Укупни записи
Дим мидате Ас Дате
Постави ВРП = Табеле ("Извештај")
мидате = Датум
ВРП.Ранге ("А9") = мидате
ВРП.Ранге ("А9"). НумберФормат = "[$ -Ф800] дддд, мммм, дд, гггг"
ВРП.Ранге ("А9"). ХоризонталАлигнмент = клЛефт
Стартров = ИнпутБок ("Унесите први запис за штампање.")
ластров = ИнпутБок ("Унесите последњи запис за штампање.")
Ако Стартров> ластров Затим
Мсг = "ЕРРОР" & вбЦрЛф & "Почетни ред мора бити мањи од последњег реда"
Мсгбок Мсг, вбЦритицал, "ЕкцелТип"
Крај Ако
Фор и = Стартров То ластров
наме = Схеетс ("Маин_дата"). Ћелије (и, 1)
Стреет_Аддресс = Табеле ("Главни_подаци"). Ћелије (и, 2)
цити = Схеетс ("Маин_дата"). Ћелије (и, 3)
регион = Схеетс ("Маин_дата"). Ћелије (и, 4)
цоунтри = Схеетс ("Маин_дата"). Ћелије (и, 5)
постал = Схеетс ("Маин_дата"). Ћелије (и, 6)
Табеле ("Извештај"). Опсег ("А7") = назив & вбЦрЛф & Стреет_Аддресс & вбЦрЛф & град & регион & држава & вбЦрЛф & поштански
Табеле ("Извештај"). Опсег ("А11") = "Поштовани" & "" & име & ","
ЦхецкБок1 = Тачно
Ако ЦхецкБок1 Тада
АцтивеСхеет.ПринтПревиев
Иначе
АцтивеСхеет.ПринтОут
Крај Ако
Затим сам
Енд Суб
Код Објашњење: - Прво ћемо дефинирати варијабле, затим ћемо дефинирати датум и формат датума, затим ћемо дефинирати задњи ред и почетни ред. Затим смо креирали оквир за поруку за пренос поруке. Затим ћемо дефинисати податке и опсег које желимо да унесемо писмом.
- Да бисте покренули код, притисните тастер Ф5 на тастатури.
- Затим морате унети прву тачку снимања. Након тога добићете нови оквир за поруку за унос последњег записа тачке.
- Затим ћете добити документ приказан испод
- Писмо ће се ажурирати према наведеним детаљима у главним подацима.
Ово је начин на који можемо аутоматизовати спајање поште кроз ВБА у Мицрософт Екцелу.