我正在搜索如何通过函数传递MailItem。
例如:我想调用一个提取MailItem主题的函数。
Function testpassing(myMail As Outlook.MailItem) As Actions
MsgBox (myMail.Subject)
End Function
Sub passing()
Dim myItem As Outlook.MailItem
Set myItem = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items(1)
MsgBox (myItem.Subject) '<~ Work correctly
testpassing (Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items(1)) '<~ Run-time error 438 Object doesn't support this property or method
testpassing (myItem) '<~ Run-time error 438 Object doesn't support this property or method
End Sub我对VBA的看法很陌生。请帮帮忙。谢谢:)
发布于 2017-03-20 06:30:36
叫它testpassing myItem和testpassing Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items(1)
还可以查看https://msdn.microsoft.com/en-us/library/ddck1z30.aspx
您可以通过引用或值将参数传递给过程(函数或子)。
如往常一样快乐编码:-)
发布于 2017-03-20 06:32:57
文件夹可能包含不同的项类型。我建议先检查项目类型(或消息类):
If Item(1).Class = OlObjectClass.olMail Then
'
End If有关详细信息,请参阅如何:以编程方式确定当前Outlook项。
https://stackoverflow.com/questions/42895704
复制相似问题