作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行一个宏,在 Outlooks 启动时将今天之前收到的电子邮件移动到一个文件柜文件夹。问题在于Application_Startup
事件处理程序在 Outlook 完全加载和文件夹同步之前发生。因此,当我早上打开 Outlook 时,昨晚收到的所有电子邮件都没有移到柜子里。
为了解决这个问题,我创建了一个自定义类来实例化 Outlook.syncObject
它同步所有文件夹并在同步完成时提供事件处理程序。我在 Application_Startup
中从这个类创建了一个对象事件处理程序。但是,此同步似乎实际上并未检索任何电子邮件,而且似乎在 Outlook 加载之前就已完成。
Outlook 完成后似乎可以执行代码 全部 它的启动过程中的一部分将是一个常见的功能请求。谢谢你的帮助。
此示例代码仅显示收件箱中有多少未读电子邮件。如果我关闭 Outlook,给自己发送一封电子邮件,然后打开 Outlook,我需要加载 Outlook 并在生成包含收件箱中未读电子邮件数量的消息框之前进行完全同步。
欧洛克 Application_Startup
事件处理程序:
Dim mySyncInstance As New mySync
Private Sub Application_Startup()
mySyncInstance.Initialize_handler
End Sub
Dim WithEvents mySync As Outlook.syncObject
Sub Initialize_handler()
Set mySync = Application.Session.SyncObjects.item(1)
mySync.Start
End Sub
Private Sub mySync_SyncEnd()
MsgBox Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).items.Restrict("[UnRead] = True").Count & _
" Emails are unread in the main inbox."
End Sub
最佳答案
I'm trying to run a macro that moves emails received before today to a cabinet folder whenever Outlooks starts.
public sub test(mail as MailItem)
' do whatever you need
end sub
关于vba - 如何在 Outlook Application_Startup 事件处理程序和所有文件夹同步后执行 VBA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29541491/
我是一名优秀的程序员,十分优秀!