Kako avtomatizirati združevanje pošte prek VBA v programu Microsoft Excel

Anonim

V tem članku se bomo naučili, kako avtomatizirati združevanje pošte z uporabo VBA v programu Microsoft Excel.

Spojitev pošte: - To je vir za združevanje podatkov v besedilo in nato natisne dokument. Za izvedbo take operacije uporabljamo Microsoft Word.

Razumejmo s preprosto vajo:-

V poročilu imamo obliko pisma in želimo uporabiti združevanje pošte prek VBA, v katerem želimo spremeniti tudi podrobnosti o pismu.

Imamo 2 lista. 1 list vsebuje podatke s podrobnostmi, komu želimo dati pisma. V prvih podatkih stolpec A vsebuje ime, stolpec B vsebuje naslov ulice, stolpec C mesto, območje stolpca D, stolpec E in stolpec F pa poštno številko. Na poročilu se lahko premika en ukazni gumb.

2nd list ima obliko črke z 2 ukaznima gumboma; en gumb za premikanje po podatkovnem listu, drugi ukazni gumb pa za združevanje pošte

Najprej bomo napisali kodo VBA za ukazni gumb Glavni podatki. Upoštevati moramo naslednje korake:-

  • Najprej bomo na delovni list vstavili ukazni gumb.
  • Pojdite na zavihek Razvijalec in vnesite ukazni gumb iz Activexcontrol.
  • Preimenujte ukazni gumb z imenom "Letter" in mu dodelite spodnji makro:-

Zasebni pod Main_data_Click ()

Delovni listi ("Poročilo"). Aktivirajte

Domet ("A19"). Prikaži

End Sub

Zdaj bomo v list poročila vstavili drugi ukazni gumb in makro dodelili za premikanje na prvem listu. Upoštevati moramo naslednje korake:-

  • Preimenujte ukazni gumb z imenom »Podatki« in mu dodelite spodnji makro:-

Zasebni pod -ukaz Button2_Click ()

Delovni listi ("Glavni_podatki"). Aktivirajte

Razpon ("A1"). Prikaži

End Sub

Zdaj bomo napisali glavno kodo za združevanje pošte, tako da sledimo spodnjim korakom:-

Vstavite ukazni gumb in ga preimenujte v »Letter Print« in nato dodelite spodnjo kodo:-

Zasebni pod -ukaz Button1_Click ()

Dim Startrow Kot celo število, zadnji kot celo število

Dim MsgAs niz

Dim TotalrecordsAs String

Zatemnjeno ime As String, Street_Address As As String, mesto As String, regija As String, država As String, poštni naslov As String

Totalrecords = "= counta (Main_Data! A: A)"

Obseg ("L1") = Skupni zapisi

Zatemni mydate kot datum

Nastavi WRP = Preglednice ("Poročilo")

mydate = Datum
WRP.Range ("A9") = mydate

WRP.Range ("A9"). NumberFormat = "[$ -F800] dddd, mmmm, dd, llll"

WRP.Range ("A9"). HorizontalAlignment = xlLeft

Startrow = InputBox ("Vnesite prvi zapis za tiskanje.")

lastrow = InputBox ("Vnesite zadnji zapis za tiskanje.")

Če Startrow> lastrow Potem

Msg = "ERROR" & vbCrLf & "Začetna vrstica mora biti manjša od zadnje vrstice"

Msgbox Msg, vbCritical, "ExcelTip"

Konec Če

For i = Startrow To lastrow

name = Sheets ("Main_data"). Celice (i, 1)

Street_Address = Listi ("Glavni_podatki"). Celice (i, 2)

city ​​= Sheets ("Main_data"). Celice (i, 3)

region = Sheets ("Main_data"). Celice (i, 4)

država = listi ("Glavni_podatki"). Celice (i, 5)

postal = Sheets ("Main_data"). Celice (i, 6)

Listi ("Poročilo"). Obseg ("A7") = ime & vbCrLf & Street_Address & vbCrLf & mesto & regija & država & vbCrLf & poštni

Listi ("Poročilo"). Obseg ("A11") = "Spoštovani" & "" & ime & ","

CheckBox1 = Res

Če je polje CheckBox1

ActiveSheet.PrintPreview

Sicer pa

ActiveSheet.PrintOut

Konec Če

Naprej i

End Sub

Koda Pojasnilo: - Najprej bomo definirali spremenljivke, nato bomo določili datum in obliko datuma, nato bomo določili zadnjo in začetno vrstico. Nato smo ustvarili sporočilno polje za prenos sporočila. Nato bomo opredelili podatke in obseg, ki jih želimo zabeležiti s črko.

  • Za zagon kode pritisnite tipko F5 na tipkovnici.
  • Nato morate vnesti prvo točko zapisa. Po tem boste dobili novo polje s sporočilom za vnos zadnjega zapisa točke.

  • In potem boste dobili spodaj prikazani dokument

  • Pismo bo posodobljeno glede na omenjene podrobnosti v glavnih podatkih.

To je način, kako lahko samodejno združimo pošto prek VBA v programu Microsoft Excel.