wwstudioinc
asked on
Extract sender,subject,priority,attachment from ms outlook using vba
I would like to extract sender,subject,priority,at tachment from ms outlook form unread emails from with ms access.Thanks.
ASKER
om gang that's ive used but i need to extract the if the email has an attachment and priority
I modified it a bit for you.
OM Gang
OM Gang
Public Function GetNewMessages()
On Error GoTo Err_GetNewMessages
'declare and open instance of MS Outlook
Dim olOutlook As New Outlook.Application
Dim olNS As Outlook.NameSpace
Dim olFolders As Outlook.MAPIFolder
Dim olInbox As Outlook.MAPIFolder
Dim olItems As Outlook.Items
'need to declare the following as object instead of Outlook.MailItem
'to allow for meeting requests, etc. that we may find in the folder
Dim olInboxItem As Object
'Dim olInboxItem As Outlook.MailItem
Dim strPSTName As String, strFolderName As String
Dim strSender As String, strSubject As String, strPriority As String
Dim strMessage As String
Dim intCounter As Integer, intNewMessages As Integer
'assign name of outlook PST file or mail box we want to use
'to string variable
strPSTName = "Mailbox - Gang, OM"
'name of folder in PST file or mail box we want to work with
strFolderName = "Inbox"
'set object Outlook NameSpace
Set olNS = olOutlook.GetNamespace("MAPI")
'set object NameSpace Folders for PST file
Set olFolders = olNS.Folders(strPSTName)
'set object mail folder for PST file
Set olInbox = olFolders.Folders(strFolderName)
'set object messages in folder
Set olItems = olInbox.Items
'loop through list of mail messages
For intCounter = 1 To olItems.Count
Set olInboxItem = olItems(intCounter)
If olInboxItem.UnRead Then
'intNewMessages = intNewMessages + 1
strSender = olInboxItem.SenderEmailAddress
strSubject = olInboxItem.Subject
strPriority = olInboxItem.Importance
strMessage = "Subject = " & strSubject
strMessage = strMessage & vbCrLf & "Sender = " & strSender
strMessage = strMessage & vbCrLf & "Priority = " & strPriority
MsgBox strMessage, , "New Mail"
End If
Next intCounter
'MsgBox "Unread Messages: " & intNewMessages, , "Here You Go!"
Exit_GetNewMessages:
'clear object variables
Set olInboxItem = Nothing
Set olItems = Nothing
Set olInbox = Nothing
Set olFolders = Nothing
Set olNS = Nothing
Set olOutlook = Nothing
Exit Function
Err_GetNewMessages:
MsgBox Err.Number & ", " & Err.Description, , "Error"
Resume Exit_GetNewMessages
End Function
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
OM Gang they both worked find but i am getting the annoying "another program" etc. screen but that's another question
Unfortunately that is something you are not going to be able to avoid. It's possible to send e-mail and avoid the Outlook Security message (by using CDO or Outlook Redemption or other tools) but what you are doing is directly accessing Outlook mail folders. The Outlook security prompt is designed to alert you when another program attempts to access these folders. I've used third party tools like MapiLab's Outlook Security and have heard good thinkgs about a program named Click Yes, both of which clear the message for you so it does not require user intervention. Perhaps something you can investigate.
OM Gang
OM Gang
ASKER
thanks for the information
hi omg gang,
your code has help me, i just want to thank you for the information.
thank you very much.
your code has help me, i just want to thank you for the information.
thank you very much.
https://www.experts-exchange.com/questions/23475983/Email-notification-in-ms-access.html
OM Gang