Outlook vba在任务完成时发送电子邮件
我使用VBScript开发了一个解决方案,用于Outlook中的任务管理 我的问题是,我试图在Outlook任务标记为已完成时发送电子邮件通知 我使用以下代码进行测试,但问题是当任务更改为完成时,这会自动更改这3个属性:Outlook vba在任务完成时发送电子邮件,vba,email,vbscript,outlook,Vba,Email,Vbscript,Outlook,我使用VBScript开发了一个解决方案,用于Outlook中的任务管理 我的问题是,我试图在Outlook任务标记为已完成时发送电子邮件通知 我使用以下代码进行测试,但问题是当任务更改为完成时,这会自动更改这3个属性: 百分比属性 完全属性 状态属性 因此,当任务标记为完成时,会发送3封电子邮件 如何在任务完成时只发送一封电子邮件通知 下面是我的代码,但现在要发送电子邮件来说明属性的更改 Sub Item_PropertyChange(ByVal Name) If Item.Sta
- 百分比属性
- 完全属性
- 状态属性
Sub Item_PropertyChange(ByVal Name)
If Item.Status=2 Then
MsgBox "The " & Name & " property changed."
End If
End Sub
我的完整代码
Sub Item_PropertyChange(ByVal Name)
Set oMsg = Application.CreateItem(olMailItem)
If Item.Status = 2 Then
With oMsg
.To = "myemailaddress"
.Subject = "Task Completed"
.Body = Item.Subject
.Send
End With
End If
End Sub
我的问题的解决办法如下 若要检查任务是否已完成,必须使用2条if语句。例如,首先检查项目的状态,然后检查项目的状态完成百分比。除非它将永远运行。上面我的问题就是一个例子。 如果有人想使用代码,请查找该代码
Sub Item_PropertyChange(ByVal Name)
Set oMsg = Application.CreateItem(olMailItem)
Set objControl = objPage.Controls("TextBox1")
Set objPage = Item.GetInspector.ModifiedFormPages("P.2")
Set objControl = objPage.Controls("TextBox1")
MyValue= objControl.Value
'If Statement to Trigegr an action When Task Completed
'To work correct must have second If Statement.
'If you check just for Complete = True, it will run forever.
If Item.Status = olTaskComplete And Item.IsRecurring = False then
If Item.PercentComplete = 100 then
With oMsg
.Recipients.Add(MyValue)
.Subject = "Task Completed "
.Body = Item.Subject
.Send
End With
end if
end if
结束通话好主意。这样做的方法是将你的解决方案作为你自己问题的答案发布。几天后,我终于找到了解决方案,我想与大家分享。问题是,如果你想检查任务是否完成,必须使用2个if语句。例如,首先检查项目的状态,然后检查项目的状态完成百分比。除非它将永远运行。上面我的问题就是一个例子。