Vba 如何返回传入参数的对象的属性?
我正在尝试读取电子邮件主题并将其存储为变量 出于测试目的,我将其设置为用作文本文件的文件名 我的代码返回一个空字符串Vba 如何返回传入参数的对象的属性?,vba,outlook,Vba,Outlook,我正在尝试读取电子邮件主题并将其存储为变量 出于测试目的,我将其设置为用作文本文件的文件名 我的代码返回一个空字符串 我向电子邮件地址发送了一封电子邮件,其中ThisOutlookSession 电子邮件主题是主题(923832) 代码执行时不会出错 文本文件名为空 为什么str=oMail.Subject不能阅读任何东西 这是我的代码:(错误时继续下一步现在删除。) 使用ByVal项作为对象而不是oMail作为Outlook.MailItem 使用ByVal项作为对象而不是oMail作为Out
ThisOutlookSession
str=oMail.Subject
不能阅读任何东西
这是我的代码:(错误时继续下一步
现在删除。)
使用ByVal项作为对象
而不是oMail作为Outlook.MailItem
使用ByVal项作为对象
而不是oMail作为Outlook.MailItem
您可以
Dim
oMail,但从未将其设置为任何值。If Item.SenderEmailAddress=”username@mail.com“然后
str=Item.Subject
停止使用错误恢复下一步,直到您知道如何操作,这只会隐藏错误。”。到底什么是离题的?有人能描述一下吗?顺便说一句,谢谢大家!我的机器人已经启动并运行了!您可以Dim
oMail,但从未将其设置为任何值。If Item.SenderEmailAddress=”username@mail.com“然后
str=Item.Subject
停止使用错误恢复下一步,直到您知道如何操作,这只会隐藏错误。”。到底什么是离题的?有人能描述一下吗?顺便说一句,谢谢大家!我的机器人已经启动并运行了!
Option Explicit
Private WithEvents olInboxItems As Items
Private Sub Application_Startup()
Dim objNS As NameSpace
Set objNS = Application.Session
' instantiate objects declared WithEvents
Set olInboxItems = objNS.GetDefaultFolder(olFolderInbox).Items
Set objNS = Nothing
End Sub
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
'On Error Resume Next
Dim oMail As Outlook.MailItem
Dim str As String
Dim openPos As Integer
Dim closePos As Integer
Dim midBit As String
Dim strFolderPath
Dim fso As Object
Dim oFile As Object
Set oFile = fso.CreateTextFile(strFolderPath & midBit & ".txt")
Set fso = CreateObject("Scripting.FileSystemObject")
strFolderPath = "C:\temp\Attachments\"
str = oMail.Subject
openPos = InStr(str, "(")
closePos = InStr(str, ")")
If oMail.SenderEmailAddress = "username@mail.com" Then
If Item.Attachments.Count > 0 Then
midBit = Mid(str, openPos + 1, closePos - openPos - 1)
oFile.WriteLine midBit
oFile.Close
End If
End If
Set fso = Nothing
Set oFile = Nothing
End Sub
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
Debug.Print Item.Subject
End If
End Sub