U ovom ćemo članku naučiti kako automatizirati spajanje pošte pomoću VBA u programu Microsoft Excel.
Spajanje pošte: - Ovo je izvor za spajanje podataka u tekst, a zatim ispis dokumenta. Za izvođenje takve operacije koristimo Microsoft Word.
Shvatimo jednostavnom vježbom:-
Imamo format slova u izvješću i želimo primijeniti spajanje pošte putem VBA -e u kojem želimo promijeniti i detalje o pismu.
Imamo 2 lista. 1 list sadrži podatke s pojedinostima kojima želimo dati pisma. U prvim podacima stupac A sadrži naziv, stupac B sadrži adresu, stupac C sadrži grad, stupac D regiju, a stupac E i stupac F sadrže poštanski broj. Postoji jedan naredbeni gumb za pomicanje u izvješću.
2nd list ima format slova s 2 naredbena gumba; jedan gumb za pomicanje na podatkovnom listu, a drugi naredbeni gumb za spajanje pošte
Prvo ćemo napisati VBA kôd za naredbeni gumb Glavni podaci. Moramo slijediti dolje navedene korake:-
- Prvo ćemo umetnuti naredbeni gumb u radni list.
- Idite na karticu Developer, a zatim umetnite naredbeni gumb iz programa Activexcontrol.
- Promijenite naziv naredbenog gumba s nazivom "Slovo" i sada dodijelite dolje spomenutu makronaredbu:-
Privatni pod Main_data_Click ()
Radni listovi ("Izvješće"). Aktivirajte
Domet ("A19"). Prikaži
Kraj podm
Sada ćemo umetnuti drugi naredbeni gumb u list izvješća i dodijeliti makronaredbu za pomicanje na prvom listu. Moramo slijediti dolje navedene korake:-
- Preimenujte gumb naredbe s imenom "Podaci" i dodijelite dolje spomenutu makronaredbu:-
Privatna pomoćna naredbaButton2_Click ()
Radni listovi ("Glavni_podaci"). Aktivirajte
Raspon ("A1"). Prikaži
Kraj podm
Sada ćemo napisati glavni kôd za spajanje pošte slijedeći dolje navedene korake:-
Umetnite naredbeni gumb i preimenujte ga u "Letter Print", a zatim dodijelite dolje navedeni kod:-
Privatna pomoćna naredbaButton1_Click ()
Dim Startrow Kao cijeli broj, zadnji kao cijeli broj
Dim MsgAs niz
Dim TotalrecordsAs String
Dim naziv As String, Street_AddressAs String, grad As String, regija As String, država As String, poštanski broj As String
Totalrecords = "= counta (Main_Data! A: A)"
Raspon ("L1") = Ukupni zapisi
Zatamnjivanje midata kao datuma
Postavi WRP = Tablice ("Izvješće")
mydate = Datum
WRP.Range ("A9") = mydate
WRP.Range ("A9"). NumberFormat = "[$ -F800] dddd, mmmm, dd, gggg"
WRP.Range ("A9"). HorizontalAlignment = xlLeft
Startrow = InputBox ("Unesite prvi zapis za ispis.")
lastrow = InputBox ("Unesite zadnji zapis za ispis.")
Ako Startrow> lastrow Zatim
Msg = "ERROR" & vbCrLf & "Početni red mora biti manji od zadnjeg retka"
Msgbox Msg, vbCritical, "ExcelTip"
Završi ako
Za i = Startrow To lastrow
name = Sheets ("Main_data"). Ćelije (i, 1)
Street_Address = Tablice ("Glavni_podaci"). Ćelije (i, 2)
grad = Tablice ("Glavni_podaci"). Ćelije (i, 3)
regija = Tablice ("Glavni_podaci"). Ćelije (i, 4)
zemlja = Tablice ("Glavni_podaci"). Ćelije (i, 5)
postal = Tablice ("Glavni_podaci"). Ćelije (i, 6)
Tablice ("Izvješće"). Raspon ("A7") = naziv & vbCrLf & Street_Address & vbCrLf & grad & regija & država & vbCrLf i pošta
Tablice ("Izvješće"). Raspon ("A11") = "Poštovani" & "" & ime & ","
CheckBox1 = Tačno
Ako CheckBox1 Tada
ActiveSheet.PrintPreview
Drugo
ActiveSheet.PrintOut
Završi ako
Sljedeći i
Kraj podm
Kod Objašnjenje: - Prvo ćemo definirati varijable, zatim ćemo definirati datum i format datuma, zatim ćemo definirati zadnji redak i početni red. Zatim smo stvorili okvir za poruku za prijenos poruke. Zatim ćemo definirati podatke i raspon koje želimo zabilježiti slovima.
- Za pokretanje koda pritisnite tipku F5 na tipkovnici.
- Zatim morate unijeti prvu rekordnu točku. Nakon toga dobit ćete novi okvir s porukom za unos posljednjeg zapisa boda.
- Zatim ćete dobiti dokument prikazan ispod
- Pismo će se ažurirati prema spomenutim detaljima u glavnim podacima.
Ovo je način na koji možemo automatizirati spajanje pošte kroz VBA u programu Microsoft Excel.