Toplu e-mail gönderme

Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Toplu e-mail göndermede mutlu sona doğru
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın arnavut,

Gecikme için kusura bakmayın.

İstediğiniz kodlar ekte. Sizin modülü 4 defa çalıştıramadım ve başka bir çözüm ürettim. Aşağıdaki kodların hepsini tüm kişilere e-mail göndereceğiniz düğümenin click olayına ekleyin.

Kod:
Dim rs As New ADODB.Recordset
Dim str As String
Dim Y, Z As Integer
Dim K As Double
rs.Open "emails1", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
Z = rs.RecordCount / 100 Mod 100
If rs.EOF = True Then
        MsgBox "Herhangi bir e-mail adresi kayıtlı değil."
    Else
        rs.MoveFirst
        K = 0
        Q = 0
        Do While Not rs.EOF
            If IsNull(rs(0)) Then
                rs.MoveNext
            Else
                str = str & rs(0) & ", "
                rs.MoveNext
                K = K + 1
                    If K Mod 100 = 0 And Q < Z Then
 
                        GoSub Mail
                        str = ""
                        Q = Q + 1
                        Else
                            If Q = Z And rs.EOF Then
                                GoSub Mail
                            End If
                    End If
            End If
        Loop
 
    End If
 
rs.Close
Set rs = Nothing
Exit Sub
Mail:
    stDocName = "Empty_Report"
    DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return
Bir de sorgular&#305; tekrar bire indirdim. T&#252;m veriler g&#246;r&#252;n&#252;r olmal&#305;.

&#304;yi &#231;al&#305;&#351;malar:)
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Arnavut'tan bir İstek

Sn. Arnavut,

Sn. Modalının kodları ben örneğinize ekledim, hata mesajı alıyorum ve bir türlü kaydedemiyorum.

Acaba, programınızın en son düzeltilmiş çalışan halini yükleyebilir misiniz? Teşekkürler.
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Merhaba Sayın Modalı,
ilginiz için çok teşekkür ederim, uğraştırdım sizi.
dediğiniz gibi, vermiş olduğunuz kodu çoklu mail gönder butonuna ekledim.
Query'leri de bire indirdim. ama bu seferde aşağıdaki hata mesajını alıyorum.
nedenini anlamadım,
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın arnavut,

Hata Q değişkeninin türünün belirtilmemesi idi. Başta
Kod:
Dim Q As Double
yazılması gerekiyordu.

Herneyse yeni dosyayı ekliyorum.

İyi çalışmalar:)
 
Katılım
24 Mart 2007
Mesajlar
169
Excel Vers. ve Dili
Excel 2003 - English
Access 2003 - English
Merhaba Say&#305;n Modal&#305;,
size ne kadar te&#351;ekk&#252;r etsem yetersiz kalacak,
&#231;ok u&#287;ra&#351;t&#305;rd&#305;m sizi, ama muhte&#351;em bir&#351;ey &#231;&#305;kt&#305; ortaya sayenizde.
hay&#305;rl&#305; ak&#351;amlar diliyorum.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Te&#351;ekk&#252;rler. G&#252;zel bir &#231;al&#305;&#351;ma oldu.
 
Katılım
30 Temmuz 2007
Mesajlar
74
Excel Vers. ve Dili
eee
Arkadaşlar Arnavut arkadaşımızın örneğine formdaki raporuda ekleyebilirmiyiz yani mail butonuna basınca rapor için format sorucak ve mail adresleriyle göndericek
 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
Compile error: Variable Not defined hatası neereden kaynaklanır.

Mail:
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return


çalıştırdıgımda yukarıda renkli kısım işaretli olmak üzere değişken tanımlanmadı hatası veriyor nereden kaynaklanabilir.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın osmanselim,

Büyük bir ihtimalle kod sayfasının başında Option Explicit deyimi var ve bu deyim tanımlanmamış değişkenlerin kullanılmasını önlüyor. Siz kodları şu şekilde değiştirin:

Kod:
Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return
Dim deyimiyle stDocName değişkeninin türünü metin olarak belirttik.

İyi çalışmalar
 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
Tam isabet

Sayın Modalı tam dediğiniz gibi ekledim oldu ancak ana tablomun açılışında şöyle bir hata mesajı alıyorum ;
Run-time error '2465'

Deyiminizde başvurulan 'email' alanı Microsoft Acces tarafından bulanamıyor code kısmıda aşagıdaki şekilde


Private Sub Form_Current()
Me!cmdEmail.Enabled = Not (IsNull(Me!email))
End Sub

bunu end diyip geçince mail kısmı çok güzel çalışıyor da Gizli kısmına atmak istiyorum bunu nereden yapabilirim.

teşekkürler
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Syın osmanselim,

Me!cmdEmail.Enabled = Not (IsNull(Me!email))
satırından hiçbirşey anlamadım. O radaki cmd niçin var. Siz bunu

Kod:
Me!Email.Enabled = Not (IsNull(Me!email))
olarak değiştirin. Ancak dikkat formunuzdaki email yazılı alanın adı ne? email mi yoksa Email mi? Biliyorsunuz VBA küçük büyük harf duyarlıklı.

İyi çalışmalar


 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
Sayın modalı

Oradaki bilgiyi yukarıdaki mail çalışmalarından almıştım açıkçası ne işe yaradığını kestiremediğim için öylece bırakmıştım hata verince tırnakla kapattım bu haliyle hatasız çalışıyor.

Ancak ben gönderilecek mail adreslerinin to kısmına değil de gizli kısmına aktarmak istiyorum bunu nasıl yapabilirim.



Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

End Sub

'Private Sub Form_Current()
' Me!email.Enabled = Not (IsNull(Me!email))
' End Sub
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın osmanselim,

Access in ve Microsoftun msdn kütüphaneleri üstünde istemediğiniz kadar bilgi ver.

Şimdi kod yazım sayfasındayken
Kod:
SendObject
i seçip F1 tuşuna basarsanız bu deyimin nasıl kullanıldığı ile ilgili bilgiye ulaşabilirsiniz.

Ben bakmaktan üşendiğimden değil herkesin ilerleme kaydedmesini istediğim için bu bilgileri veriyorum.

İyi çalışmalar
 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
Sn Modalı haklısınız ama yardımcı olurmusunuz ingilizcem zayıf

ama yapamadım

Mail:
Dim stDocName As String
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return

Str bununla alakalı galiba

OutputFormat Optional Variant.

To Optional Variant. A string expression that lists the recipients whose names you want to put on the To line in the mail message. Separate the recipient names you specify in this argument and in the cc and bcc arguments with a semicolon (;) or with the list separator set on the Number tab of the Regional Settings Properties dialog box in Windows Control Panel. If the recipient names aren't recognized by the mail application, the message isn't sent and an error occurs. If you leave this argument blank, Microsoft Access prompts you for the recipients.



Bcc Optional Variant. A string expression that lists the recipients whose names you want to put on the Bcc line in the mail message. If you leave this argument blank, the Bcc line in the mail message is blank.
 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
Sn Modalı

Aşagıdaki örnek te BCC ye atmışsınız fakat benim uygulamam bunu adapte edemedim yardımcı olurmusunuz.

Benim Kullandığım Kodlar bu to olarak gönderiyor
****************
rs.Close
Set rs = Nothing
Exit Sub
Mail:
stDocName = "Empty_Report"
DoCmd.SendObject acSendNoObject, stDocName, , str, , , "Test Email", , True
Return
****************

Sizin yaptıgınız örnek Bcc olarak gönderiyor.
******************************
'Add contacts to variable for BCC field

For Each varItem In lst.ItemsSelected
'Check for email address
strEMailRecipient = Nz(lst.Column(1, varItem))
Debug.Print "EMail address: " & strEMailRecipient
If strEMailRecipient <> "" Then
strBCC = strBCC & strEMailRecipient & ";"
End If

Next varItem

strBCC = Left(strBCC, Len(strBCC) - 1)

stDocName = "deneme"
DoCmd.OpenReport stDocName, acViewPreview, , , acHidden
DoCmd.SendObject acReport, stDocName, acFormatSNP, strBCC, , , strSubject, strBody
DoCmd.Close acReport, stDocName, acSaveNo
'Create new mail message and send to contacts
'Set msg = appOutlook.CreateItem(olMailItem)
'With msg
'.To = strTo
'.Subject = strSubject
'.Body = strBody
'.BCC = strBCC
'.Display
'End With
******************************
 
Katılım
16 Ekim 2006
Mesajlar
135
Excel Vers. ve Dili
Microsoft
halen çözemedim

Ardaşlar bir üstteki problemi halen halledemedim yukarıdaki kodlara göre toplu To olarak gönderiyor ben mail adreslerimiz BCC ye aktarılmasını nasıl sağlarım
 
Üst