Šiame straipsnyje mes sužinosime, kaip automatizuoti laiškų sujungimą naudojant „Microsoft Excel“ VBA.
Sujungimas laiškais: - tai šaltinis, skirtas sujungti duomenų informaciją į tekstą ir tada atspausdinti dokumentą. Norėdami atlikti tokią operaciją, naudojame „Microsoft Word“.
Supraskime atlikdami paprastą pratimą:-
Ataskaitos lape turime raidžių formatą ir norime pritaikyti laiškų suliejimą per VBA, kuriame taip pat norime pakeisti raidės informaciją.
Turime 2 lapus. 1 lape yra duomenų su išsamia informacija, kam norime duoti laiškus. Pirmųjų duomenų A stulpelyje yra Pavadinimas, B stulpelyje - gatvės adresas, C stulpelyje - miestas, D stulpelio regionas, E stulpelyje ir F stulpelyje yra pašto pašto indeksas. Yra vienas komandų mygtukas, kurį reikia perkelti ataskaitos lape.
2antra lape yra raidžių formatas su 2 komandų mygtukais; vienas mygtukas, skirtas judėti duomenų lape, o antrasis komandinis mygtukas - dirbti sujungiant laiškus
Pirmiausia parašysime pagrindinių duomenų komandų mygtuko VBA kodą. Turime atlikti toliau nurodytus veiksmus:-
- Pirmiausia į darbalapį įterpsime komandos mygtuką.
- Eikite į skirtuką „Kūrėjas“ ir įterpkite „Activexcontrol“ mygtuką „Command“.
- Pervardykite komandos mygtuką pavadinimu „Letter“ ir dabar priskirkite žemiau nurodytą makrokomandą:-
Privatus antrinis Main_data_Click ()
Darbo lapai („Ataskaita“). Aktyvinti
Diapazonas („A19“). Rodyti
Pabaiga Sub
Dabar į ataskaitos lapą įterpsime antrąjį komandos mygtuką ir priskirsime makrokomandą judėti pirmame lape. Turime atlikti toliau nurodytus veiksmus:-
- Pervardykite komandos mygtuką pavadinimu „Duomenys“ ir priskirkite žemiau nurodytą makrokomandą:-
Privati antrinė komandaButton2_Click ()
Darbo lapai („Main_Data“). Aktyvinti
Diapazonas („A1“). Rodyti
Pabaiga Sub
Dabar parašysime pagrindinį pašto suliejimo kodą, atlikdami toliau nurodytus veiksmus:-
Įdėkite komandos mygtuką ir pervardykite jį kaip „Letter Print“, tada priskirkite toliau nurodytą kodą:-
Privati antrinė komandaButton1_Click ()
Dim Startrow Kaip sveikasis skaičius, paskutinis kaip sveikasis skaičius
Dim MsgAs eilutė
„Dim Totalrecords“ kaip eilutė
Prastas pavadinimas kaip eilutė, Street_AddressAs eilutė, miestas kaip eilutė, regionas kaip eilutė, šalis kaip eilutė, paštas kaip eilutė
Totalrecords = "= counta (Main_Data! A: A)"
Diapazonas ("L1") = Iš viso įrašų
Sutemdyti datą kaip datą
Nustatyti WRP = Lakštai („Ataskaita“)
mydate = data
WRP.Range ("A9") = mano data
WRP.Range ("A9"). NumberFormat = "[$ -F800] dddd, mmmm, dd, yyyy"
WRP.Range ("A9"). HorizontalAlignment = xlLeft
Startrow = InputBox („Įveskite pirmąjį spausdinamą įrašą“).
lastrow = InputBox ("Įveskite paskutinį spausdinamą įrašą.")
Jei Startrow> lastrow Tada
Msg = "ERROR" & vbCrLf & "Pradinė eilutė turi būti mažesnė nei paskutinė eilutė"
„Msgbox“ žinutė, „vbCritical“, „ExcelTip“
Pabaiga Jei
Dėl i = Startrow Norėdami perkelti
pavadinimas = Lakštai ("Pagrindiniai_datai"). Ląstelės (i, 1)
Gatvės_adresas = Skaičiuoklės („Pagrindiniai duomenys“). Ląstelės (i, 2)
city = Sheets ("Main_data"). Ląstelės (i, 3)
region = Sheets ("Main_data"). Ląstelės (i, 4)
country = Sheets ("Main_data"). Ląstelės (i, 5)
postal = Sheets ("Main_data"). Ląstelės (i, 6)
Skaičiuoklės („Ataskaita“). Diapazonas („A7“) = pavadinimas & vbCrLf & Street_Address & vbCrLf & miestas & regionas & šalis & vbCrLf ir paštas
Skaičiuoklės ("Ataskaita"). Diapazonas ("A11") = "Mieli" & "" & vardas & ","
CheckBox1 = Tiesa
Jei pažymimas 1 langelis
ActiveSheet.PrintPreview
Kitas
ActiveSheet.PrintOut
Pabaiga Jei
Kitas I.
Pabaiga Sub
Kodo paaiškinimas: - Pirmiausia nustatysime kintamuosius, tada nustatysime datą ir datos formatą, tada - paskutinę eilutę ir pradžios eilutę. Tada mes sukūrėme pranešimų dėžutę pranešimui perduoti. Tada mes nustatysime duomenis ir diapazoną, kurį norime užfiksuoti laišku.
- Norėdami paleisti kodą, paspauskite klaviatūros klavišą F5.
- Tada turėsite įvesti pirmąjį įrašo tašką. Po to gausite naują pranešimų laukelį, kuriame bus įvestas paskutinis taško įrašas.
- Ir tada gausite žemiau pateiktą dokumentą
- Laiškas bus atnaujintas atsižvelgiant į pagrindiniuose duomenyse nurodytą informaciją.
Taip galime automatizuoti laiškų sujungimą per VBA „Microsoft Excel“.