vba - 从功能区上的按钮将邮件移动到文件夹
问题描述
我有一个宏,可以使用 F8 完美运行以逐步执行,但在从功能区上的按钮运行时会跳过最后一步,移动电子邮件。
这是代码。
Sub Reportmail()
'Declare Variables
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim msg As Outlook.MailItem
Dim objDestFolder As Outlook.MAPIFolder
Dim objItem As Outlook.MailItem
Dim Move As Outlook.MailItem
Dim selEmail As Outlook.MailItem
Dim moveToFolder As Outlook.MAPIFolder
Dim MItem As MailItem
'Append subject & Move
For Each MItem In ActiveExplorer.Selection
MItem.Subject = "Suspicious Email: " & MItem.Subject
Next
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
On Error GoTo xyz
Set myNewFolder = olFolder.Folders.Add("Suspicious Items")
xyz:
Set olFolder = olFolder.Folders("Suspicious Items")
Set objNS = Application.GetNamespace("MAPI")
'Set folder to move suspicious email into
Set objDestFolder = objNS.GetDefaultFolder(olFolderInbox).Folders("Suspicious Items")
'SET Task
Set selEmail = ActiveExplorer.Selection.Item(1).Forward
'Set Recipient
selEmail.Recipients.Add "myemail@mydonain.com"
'Send Email
selEmail.Send
'Move email to folder
ActiveExplorer.Selection.Item(1).Move objDestFolder
End Sub
解决方案
您可以通过添加错误捕获来调试问题,并在错误发生时检查错误消息和变量的值,方法是添加:
On Error GoTo oops
{your code}
finish:
On Error GoTo 0
Exit Sub
oops:
Debug.Print Err.Number;Err.Description
Debug.Assert False
Resume finish
End Sub
推荐阅读
- scala - 从特定顶点创建图形 graphx spark
- python - pandas groubpy().size() PSQL 等效
- r - 如何在 R 中舍入具有一些非数字变量的数据框?
- java - 2048游戏移动辅助java
- sql - 我如何优化这个 oracle 查询?
- javascript - 如何在 React Native FlatList 中按“某物”排序?
- html - 不能跨组件使用相同的类名。CSS 不在样式组件内
- python - python如何在语句中使用正确的sql引号将列表形成为逗号分隔的字符串
- directory - Cucumber 没有创建文件夹,而是创建了一个文件
- firebase - Flutter后台推送通知不适用于iOS