Како аутоматизовати спајање поште путем ВБА у Мицрософт Екцелу

Anonim

У овом чланку ћемо научити како аутоматизовати спајање поште помоћу ВБА у програму Мицрософт Екцел.

Спајање поште: - Ово је извор за спајање података у текст и штампање документа. Да бисмо извршили такву операцију, користимо Мицрософт Ворд.

Хајде да разумемо једноставном вежбом:-

Имамо формат писма у листу извештаја и желимо да применимо спајање поште кроз ВБА у коме желимо да променимо и детаље о писму.

Имамо 2 листа. 1 лист садржи податке са детаљима коме желимо да дамо писма. У првим подацима, колона А садржи име, колона Б садржи адресу, колона Ц садржи град, колону Д регион, а колона Е и колона Ф садрже поштански број. На листу извештаја постоји једно командно дугме за померање.

2нд лист има формат слова са 2 командна дугмета; једно дугме за померање по листу са подацима, а друго командно дугме за спајање поште

Прво ћемо написати ВБА код за командно дугме Главни подаци. Морамо да следимо доле наведене кораке:-

  • Прво ћемо уметнути командно дугме у радни лист.
  • Идите на картицу Девелопер, а затим уметните командно дугме из програма Ацтивекцонтрол.
  • Преименујте командно дугме са именом „Слово“ и сада доделите доле поменути макро:-

Приватни под Маин_дата_Цлицк ()

Радни листови („Извештај“). Активирајте

Домет („А19“). Прикажи

Енд Суб

Сада ћемо уметнути друго командно дугме у лист са извештајима и доделити макро за кретање на првом листу. Морамо да следимо доле наведене кораке:-

  • Преименујте командно дугме са именом „Подаци“ и доделите доле поменути макро:-

Приватна под командаБуттон2_Цлицк ()

Радни листови ("Маин_Дата"). Активирајте

Распон („А1“). Прикажи

Енд Суб

Сада ћемо написати главни код за спајање поште следећим корацима испод:-

Уметните командно дугме и преименујте га у „Леттер Принт“, а затим доделите доле наведени код:-

Приватна под -командаБуттон1_Цлицк ()

Дим СтартровАс Интегер, ластров Ас Интегер

Дим МсгАс Стринг

Дим ТоталрецордсАс Стринг

Дим назив Ас Стринг, Стреет_АддрессАс Стринг, град Ас Стринг, регион Ас Стринг, држава Ас Стринг, поштански број Ас Стринг

Тоталрецордс = "= цоунта (Маин_Дата! А: А)"

Опсег ("Л1") = Укупни записи

Дим мидате Ас Дате

Постави ВРП = Табеле ("Извештај")

мидате = Датум
ВРП.Ранге ("А9") = мидате

ВРП.Ранге ("А9"). НумберФормат = "[$ -Ф800] дддд, мммм, дд, гггг"

ВРП.Ранге ("А9"). ХоризонталАлигнмент = клЛефт

Стартров = ИнпутБок ("Унесите први запис за штампање.")

ластров = ИнпутБок ("Унесите последњи запис за штампање.")

Ако Стартров> ластров Затим

Мсг = "ЕРРОР" & вбЦрЛф & "Почетни ред мора бити мањи од последњег реда"

Мсгбок Мсг, вбЦритицал, "ЕкцелТип"

Крај Ако

Фор и = Стартров То ластров

наме = Схеетс ("Маин_дата"). Ћелије (и, 1)

Стреет_Аддресс = Табеле ("Главни_подаци"). Ћелије (и, 2)

цити = Схеетс ("Маин_дата"). Ћелије (и, 3)

регион = Схеетс ("Маин_дата"). Ћелије (и, 4)

цоунтри = Схеетс ("Маин_дата"). Ћелије (и, 5)

постал = Схеетс ("Маин_дата"). Ћелије (и, 6)

Табеле ("Извештај"). Опсег ("А7") = назив & вбЦрЛф & Стреет_Аддресс & вбЦрЛф & град & регион & држава & вбЦрЛф & поштански

Табеле ("Извештај"). Опсег ("А11") = "Поштовани" & "" & име & ","

ЦхецкБок1 = Тачно

Ако ЦхецкБок1 Тада

АцтивеСхеет.ПринтПревиев

Иначе

АцтивеСхеет.ПринтОут

Крај Ако

Затим сам

Енд Суб

Код Објашњење: - Прво ћемо дефинирати варијабле, затим ћемо дефинирати датум и формат датума, затим ћемо дефинирати задњи ред и почетни ред. Затим смо креирали оквир за поруку за пренос поруке. Затим ћемо дефинисати податке и опсег које желимо да унесемо писмом.

  • Да бисте покренули код, притисните тастер Ф5 на тастатури.
  • Затим морате унети прву тачку снимања. Након тога добићете нови оквир за поруку за унос последњег записа тачке.

  • Затим ћете добити документ приказан испод

  • Писмо ће се ажурирати према наведеним детаљима у главним подацима.

Ово је начин на који можемо аутоматизовати спајање поште кроз ВБА у Мицрософт Екцелу.