kako bi lahko poslal en e-mail vendar, da bi mi makro dodal v naslovnike več naslovnikov glede na stanje v celicah stolpca N. Če bi bilo v celici stolpca N zapis TRUE bi mi dodal naslovnika, ki ima svoj naslov e-maila v celici stolpca P.
Pri spodnji kodi mi makro posilja mail vsakemu posebej.
Option Explicit
' www.matjazev.net
' 18.06.2006
Sub PosliEPosto(vrstica)
Dim iMsg As Object
Dim iConf As Object
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
With iMsg
Set .Configuration = iConf
.To = Cells(vrstica, 1)
.CC = ""
.BCC = ""
.From = "<webmaster@matjazev.net>"
.Subject = Cells(vrstica, 2)
.TextBody = Cells(vrstica, 3)
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
End Sub
Sub Poslji()
Dim vrstica As Long
vrstica = 0
Do While (Not IsEmpty(Cells(vrstica, 1)))
If (Cells(vrstica, 4)) Then PosliEPosto vrstica
vrstica = vrstica + 1
Wend
End Sub
zapisana koda pošilja vsak mail posebej, ker je tudi vsak mail lahko pač drugačen, saj podatke o vsebini jemlje iz tekoče vrstice.
Pod predpostavko, da pa se pri vas vsebina ne spreminja, pa je potrebno prejemnike pač zapisati v polje 'To', ločene s podpičji. Za rešitev je torej potrebno najprej dobiti seznam vseh prejemnikov in le te zapisati v niz znakov, ločene s podpičji ter nato poslati mail.
Ali je optimalna rešitev, da že znotraj lista v excelu v eni od celic zberem seznam vseh naslovnikov in se potem v makru sklicujem na to celico? Misli, da pri velikem številu naslovnikov celica prenese samo 256 znakov.
Da, to je najboljša rešitev. Celica v Excelu pa prenese vsaj 32000 znakov (mogoče v novejših različicah celo več). V starejšh verzijah Excela je bilo v celici prikazano samo prvih 1024 znakov, v vrstici s formulo pa vsi... Lahko da je v novejših verzijah to že tudi popravljeno. Kakorkoli; Excelova celica lahko vsebuje velikooooo znakov