有没有办法在发送电子邮件后设置提醒?
我有VBA代码,用于创建电子邮件并设置提醒。
Sub RendaFixaAplicação()
Dim texto As String
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
texto = Range("J2").Value & ",insert some text here"
With OutMail
.Display
.to = Range("J3").Value
.CC = Range("J4").Value
.Subject = "Insert a subject here " & Range("E2").Value
.HTMLBody = texto & .HTMLBody
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Call alerta1
End Sub
提醒是通过"呼叫alerta1"在代码的末尾,编程如下:
Sub alerta1()
Dim objOutlookApp As Outlook.Application
Dim objTask As Outlook.TaskItem
Dim hora As String
Dim wd As WorksheetFunction
Set wd = Application.WorksheetFunction
Dim diautil As Date
diautil = wd.WorkDay(Date, 1)
If Time > "15:00:00" Then
hora = diautil & " 14:00:00"
Else
If Time < "14:00:00" Then
hora = Date & " 14:00:00"
Else
hora = Date & " 14:45:00"
End If
End If
Set objOutlookApp = CreateObject("Outlook.Application")
Set objTask = objOutlookApp.CreateItem(olTaskItem)
objTask.Subject = "Insert a Subject Here - " & Range("E2").Value
objTask.Display
objTask.body = "Cliente: " & Range("K2").Value & vbNewLine & "Email cliente: " & Range("J3").Value
objTask.ReminderSet = True
objTask.ReminderTime = hora
objTask.DueDate = hora
objTask.Close (olSave)
End Sub
它设置提醒我是否发送电子邮件。
我无法使用。发送电子邮件,因为需要在电子邮件中进行一些编辑。
有没有办法让Excel等待发送电子邮件然后运行&#34; alerta1&#34;?
答案 0 :(得分:0)
首先,不需要在每个方法中创建新的Outlook应用程序实例。
理想情况下,您可以在Outlook中的ItemAdd
文件夹中挂钩Sent Items
事件。但是,可以在发送后删除项目而不保存到Sent Items
文件夹。 DeleteAfterSubmit属性允许设置一个布尔值,如果在发送时未保存邮件的副本,则为True;如果副本保存在已发送邮件文件夹中,则为False。
所以,我建议处理Application类的ItemSend事件,当用户通过Inspector发送Microsoft Outlook项目时会触发该事件(在检查器关闭之前,但在用户之后)单击“发送”按钮)或在程序中使用Outlook项目的Send方法(如MailItem)时。在事件处理程序中,您将可以访问正在发送的项目,并可以为其创建新任务。