Kako automatizirati spajanje pošte putem VBA u programu Microsoft Excel

Anonim

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.