Makroya yeni kayıt oldum. Son tarih yaklaşırken e-posta AUTOMATICALLY göndermek için excel gerekir. (Örnek yaklaşık 15 gün önce). E-postanın, tarihe veya koşullu formatlamaya bakılmaksızın tüm bireylere gönderildiği noktaya kadar çok şey yaptım.VBA 2013'te otomatik olarak e-posta gönderme
If mydate2 - datetoday2 >= 15 Then
O tarih daha sonra başarılı olursa size e-posta göndermek istediğiniz farz edeceğim:
Dim myApp As Outlook.Application, mymail As Outlook.MailItem
Dim mydate1 As Date
Dim mydate2 As Long
Dim datetoday1 As Date
Dim datetoday2 As Long
Dim x As Long
With Sheet1
Lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To Lastrow
mydate1 = Cells(x, 6).Value
mydate2 = mydate1
Cells(x, 10).Value = mydate2
datetoday1 = Date
datetoday2 = datetoday1
Cells(x, 9).Value = datetoday2
If mydate2 - datetoday2 >= 15 Then
End If
'Cells(x, 8).Font.Bold = “Send”
Cells(x, 8).Interior.ColorIndex = 3
Cells(x, 8).Font.ColorIndex = 1
Cells(x, 8).Font.Bold = True
Cells(x, 8).Value = datetoday2 - mydate2
Dim olApp As Outlook.Application
Dim olEmail As Outlook.MailItem
Set olApp = New Outlook.Application
Set olEmail = olApp.CreateItem(olMailItem)
olEmail.To = Cells(, 5).Value
With olEmail
.BodyFormat = olFormatHTML
'.Display
.HTMLBody = "<h1>Hej </h1><br> Detta är ett mail som du ska läsa" & "<br>" & .HTMLBody
.Subject = "Möte"
.BCC = Cells(x, 5).Value
'.send
End With
Next
Set myApp = Nothing
Set mymail = Nothing
End With
End Sub
'mydate2 - datetoday2> = 15 'iyi çalışıyor. Tarihler, gün sayısı sayısına eşit tamsayı değeriyle çiftler halinde depolanır, böylece önem verdiğiniz tüm günler günlerse bunlar eklenebilir ve çıkarılabilir. Eğer herhangi bir şey varsa, OP'ler uzun bir süreye yayılırlarsa gereksizdir - sadece ondalık değerin sağında saklanan zaman değerini göz ardı ederler. – Comintern
Bunu biliyorum. Ayrıca ondalıkları ortadan kaldıran kullanışlı bir işlev sunmak istedim. Tarih çıkarma işlemi ile testi, daha doğal olarak bana okuyan, = 15 & < 16; numaralı bir tarih ve 15 ile olur. Stil kişisel bir şeydir :) –
'> 'bir amaç için var olduğunu varsayıyorum - örneğin kod günlük olarak çalıştırılmadığı için kaçırılan son başvuru tarihlerini hesaba katmak. "Tarz kişisel bir şey" dediğiniz gibi, ama genellikle 1 kod satırı 5'den çok daha açık ve daha okunabilir ve matematiksel bir işleç, bir işlev çağrısının parametre sırasını hatırlamaktan daha okunabilir. – Comintern