我正在添加Outlook提醒以运行一些代码。我希望它每两个小时运行一次。
下面是我每天在同一时间运行的一个示例。所以今天,当Outlook提醒启动时,它会运行一些代码,然后创建一个新的提醒,从这个提醒开始运行两个小时。
例如,如果此提醒在上午7:30运行,我希望在上午9:30创建新提醒,然后在上午11:30创建提醒,依此类推。
我正在为创建下一个提醒的语法而苦苦挣扎。我感到困惑的部分原因是日期发生了变化。
Case "Move Files"
Move_FILES
Call New_Task("Move ENGIE Files", DateAdd("d", 1, Date), " 7:30:00 AM")
vAuto = True我已经在许多不同的进程中使用过这段代码,并且它已经运行了很多年。唯一的区别是它现在需要每两个小时运行一次。
Sub New_Task(vSubject As String, vDueDate As Date, vTime As String)
Dim myItem As Outlook.TaskItem
Set myItem = Application.CreateItem(olTaskItem)
With myItem
.Subject = vSubject
.DueDate = vDueDate
.ReminderTime = vDueDate & vTime
.Save
DoEvents
.ReminderSet = True
.Save
DoEvents
.ReminderSet = True
DoEvents
.Save
DoEvents
.Close (olSave)
DoEvents
End With
Set myItem = Nothing
End Sub发布于 2019-11-22 01:14:12
我能够通过在CASE语句的开头添加几行代码来解决我的问题。我添加了两个变量,并使用它们计算出下一次提醒的日期和时间。然后将这两个变量传递给New_Task模块。如果有人想看看我是怎么解决我的问题的。谢谢...…。
Case "Move ENGIE Files"
Dim MyTimer As String
Dim MyDate As Date
vTime = ""
MyTimer = ""
MyDate = 0
MyTimer = CDate(Now)
MyTimer = DateAdd("h", 2, MyTimer)
MyDate = Format(MyTimer, "MM/DD/YYYY")
MyTimer = Format(MyTimer, "HH:MM AM/PM")
MyTimer = " " & MyTimer
Move_Files
Call New_Task("Move ENGIE Files", MyDate, MyTimer)
vAuto = Truehttps://stackoverflow.com/questions/58977910
复制相似问题