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.