troubleshooting Question

originals emails are getting deleted if i issue a resend via vba

Avatar of Fordraiders
FordraidersFlag for United States of America asked on
Microsoft AccessOutlookVBA
3 Comments1 Solution75 ViewsLast Modified:
Access 2010 vba
sending emails via Microsoft Outlook 2010 through vba in access

I'm searching through the "Inbox" folder on a certain profile(store)
If it finds what i'm looking for it "resends" that email to its original "sendto"

PROBLEM:
The original email it finds...is getting deleted ?
after its does   a   "olResendMsg"





 
' LOOK FOR OUTLOOK OPEN
Dim objOL As OUTLOOK.Application
' search inbox for this id
Dim myOlApp As New OUTLOOK.Application
Dim myNameSpace As OUTLOOK.Namespace
Dim myInbox As OUTLOOK.MAPIFolder
Dim myitems As OUTLOOK.Items
Dim myitem As Object
Dim Found As Boolean
Dim objInsp As OUTLOOK.Inspector
Dim objActionsMenu As Office.CommandBarControl
Dim olResendMsg As OUTLOOK.MailItem
Dim ProfileN As String


' to find the right store or profile name
Dim colStores As OUTLOOK.Stores
Dim oStore As OUTLOOK.Store
Dim oRoot As OUTLOOK.Folder
' folder
Dim folders As OUTLOOK.folders
Dim Folder As OUTLOOK.Folder
Dim foldercount As Integer
Dim oFolder As OUTLOOK.Folder
 Set colStores = OUTLOOK.Application.Session.Stores
 
 For Each oStore In colStores
   y = oStore.DisplayName
 

    If y = "bookprice@xxxxx.com" Or y = "bookprice" Then
     
     Set oRoot = oStore.GetDefaultFolder(olFolderInbox)
     Set folders = oRoot.folders
         foldercount = folders.Count
'Check if there are any folders below oFolder
     Set myInbox = oRoot
     Set myitems = oRoot.Items


' ok we have records. generate records
t = "Action Required - Pricing Escalation #4196"






' search inbox for ID
Found = False

For Each myitem In myitems
       y = myitems.Count
        If InStr(1, myitem.Subject, "" & t & "") > 0 Then
          'MsgBox "Found" '  Debug.Print "Found"
            Found = True
             ' run the resend command
             Set objInsp = myitem.GetInspector
             objInsp.CommandBars.ExecuteMso ("ResendThisMessage")
            
             ' get the opened compose message form & send it
             
             Set olResendMsg = myitem 
            
             ' update fields if needed
             olResendMsg.CC = "redbookpriceescalations@grainger.com"
             olResendMsg.BCC = "david.powell@grainger.com"
             olResendMsg.Subject = "REMINDER: 2nd Request Please Respond : " & t & ""
             olResendMsg.Send
        Else
        ' do nothing
        End If
Next myitem
      

'If the subject isn't found:
       If Not Found Then
          ' NoResults.Show
          MsgBox "Pricing " & t & " Could Not Be Found. You will need to review Manually and send Notice."
          
       End If


If Found = True Then
 MsgBox "2ND Reminder Messages Sent !", vbOKOnly, "2nd Reminder Notice eMails"
End If

' this end if is for making sure we have the right profile name "Store" bookprice
  End If
Next


Set myNameSpace = Nothing
Set myInbox = Nothing
Set myitems = Nothing
Set myOlApp = Nothing
ASKER CERTIFIED SOLUTION
Anders Ebro (Microsoft MVP)
Microsoft Developer

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 3 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 3 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros