Vba 调试Outlook.MailItem
我已将Outlook.MailItem下载到我的Vba 调试Outlook.MailItem,vba,outlook,Vba,Outlook,我已将Outlook.MailItem下载到我的Y:\文件夹中,位置为: Y:\email.msg 在Outlook VBA中,我想测试此项目上的脚本。然而,我不知道如何定义它 我有以下资料: Dim testMail As MailItem Set testMail = Application.CreateItem(olMailItem) 但是我如何链接到我存储的确切项目呢 之后,我想使用代码测试将附件存储在此文件中(有时并不总是生成损坏的文件): 以及帮助功能: Public Func
Y:\
文件夹中,位置为:
Y:\email.msg
在Outlook VBA中,我想测试此项目上的脚本。然而,我不知道如何定义它
我有以下资料:
Dim testMail As MailItem
Set testMail = Application.CreateItem(olMailItem)
但是我如何链接到我存储的确切项目呢
之后,我想使用代码测试将附件存储在此文件中(有时并不总是生成损坏的文件): 以及帮助功能:
Public Function get_yyyymmdd_prevday(mydate As Date) As String
Dim yyyymmddstr As String
'Previous Business Date
Dim yyyy As String
Dim mm As String
Dim dd As String
If Weekday(mydate) = 2 Then
mydate = mydate - 3
Else
mydate = mydate - 1
End If
yyyy = Year(mydate)
mm = Month(mydate)
dd = Day(mydate)
If Month(mydate) < 10 Then
mm = "0" & mm
End If
If Day(mydate) < 10 Then
dd = "0" & dd
End If
' -->
yyyymmddstr = yyyy & "_" & mm & "_" & dd
get_yyyymmdd_prevday = yyyymmddstr
End Function
公共函数get_yyyymmdd_prevday(mydate作为日期)作为字符串
Dim YYYYMMDSTR作为字符串
“上一个营业日期
将yyyy设置为字符串
把mm调成字符串
作为字符串的Dim dd
如果工作日(mydate)=2,则
mydate=mydate-3
其他的
mydate=mydate-1
如果结束
yyyy=年(mydate)
mm=月份(mydate)
dd=天(mydate)
如果月份(mydate)<10,则
mm=“0”和mm
如果结束
如果日期(mydate)<10,则
dd=“0”和dd
如果结束
' -->
yyyymmddstr=yyyy&“&”mm&“&”dd
获取yyyymmdd_prevday=yyyyymmddstr
端函数
要引用.msg文件,有OpenSharedItem
Option Explicit
Private Sub Reference_msg_file()
Dim testMailPathFile As String
Dim testMail As MailItem
testMailPathFile = "Y:\email.msg"
Set testMail = Session.OpenSharedItem(testMailPathFile)
'testMail.Display
Save_File testMail
ExitRoutine:
Set testMail = Nothing
End Sub
您已禁用在错误恢复下一步时使用
进行调试。删除这一行并研究如何使用它,然后再将其应用于任何未来的代码。您可以将“下一步出错时继续”更改为“下一步出错时转到处理程序”
您可以使用它调试Outlook.MailItem
有关详细信息,您可以参考以下链接:
据我所知,用这种方式从下载的邮件中创建对象并不容易。该对象用于应用程序中存在的邮件。如果您进一步解释要测试的内容,可能会有其他解决方案。我正在尝试测试下载Outlook项目附件的vba脚本。通常它工作正常,但这次它存储了一个损坏的文件。所以我想调试代码,看看为什么会发生这种情况。也许如果您共享vba…添加了代码来调试存储文件时损坏文件的部分。然而,它并不总是损坏它,只是偶尔存储一次。因此,为什么我想了解它何时发生,因此我需要知道如何调试它…大概只有某些邮件消息?(如中所述,可复制?)下一步如何应用于错误恢复。让编辑器弹出,而不是隐藏不可预见的错误。
Option Explicit
Private Sub Reference_msg_file()
Dim testMailPathFile As String
Dim testMail As MailItem
testMailPathFile = "Y:\email.msg"
Set testMail = Session.OpenSharedItem(testMailPathFile)
'testMail.Display
Save_File testMail
ExitRoutine:
Set testMail = Nothing
End Sub