Outlook SendUsingAccount to change from account

Status
Not open for further replies.
P

p912s

Hello! I have searched all over the web and have been unable to locate a

solution... the closest I came was a thread on here so I joined.

My problem is sending a message after changing the sending account in

VBA. I get an error - "You Cannot Send An Item That Is Already In The

Process Of Being Sent"

Here is the thread that talked about a solution using a timer to get

the message sent but I don't understand how to implement a timer in

Outlook - http://tinyurl.com/r79d4w

And here is my code - fairly simple, it gathers up the pop3 accounts

and presents them in a popup message to select the account to send from.

The selecting and changing accounts works fine but the messages can't be

sent. I have documented in the code where the error happens.

Thanks.

Option Explicit

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As

Boolean)

Dim oAccount As Outlook.Account

Dim strDefaultAccount As String, strMsg As String, strID As String

Dim strAccounts(100)

Dim c As Integer, i As Integer

Dim result As Variant

c = 1

'get default account

strDefaultAccount = Application.Session.Accounts(1).DisplayName

'get pop3 accounts

For Each oAccount In Application.Session.Accounts

If oAccount.AccountType = olPop3 Then

strAccounts(c) = c & " - " & oAccount

'Debug.Print strAccounts(c)

c = c + 1

End If

Next

'build inputbox account list

strMsg = "Click Ok to use default account or enter the number of

the account to use...." & vbCrLf

For i = 1 To c

strMsg = strMsg & vbCrLf & strAccounts(i)

Next i

'********************************************************

'message id

'I think this is the id i need to recall and send the message?

strID = Item.ConversationIndex

'********************************************************

'display inputbox

result = InputBox(strMsg, "Select Sending Account",

strDefaultAccount)

'act on user input

Select Case result

Case strDefaultAccount

'clicked ok - send from default account

Cancel = True

Set Item.SendUsingAccount =

Application.Session.Accounts(1)

'********************************************************

'send error - "You Cannot Send An Item That Is Already In

The Process Of Being Sent"

Item.Send

'********************************************************

Case IsNumeric(result)

'typed a number

If result <= i Then

Cancel = True

Set Item.SendUsingAccount =

Application.Session.Accounts(result)

'********************************************************

'send error - "You Cannot Send An Item That Is Already

In The Process Of Being Sent"

Item.Send

'********************************************************

Else

'entered incorrect number - stay in message

Cancel = True

End If

Case Else

'clicked cancel or invalid entry - stay in message

Cancel = True

End Select

End Sub

--
 
K

Ken Slovak - [MVP - Outlook]

Application_ItemSend() is too late, the item has already been submitted to

the mail transport by that time with the original email address. Handle that

earlier in the Item.Send() event.

 
P

p912s

Thanks for the reply!

The above code is run from ThisOutlookSession so that when you click

the Send button on a message you're prompted to set the sending account.

Which as you point is to late to change the account.

In that code window my only choices are General and Application... the

only way I know I could get the Item.Send event would be to call it from

a button on a form. And I have tried that, in the Application.Send, set

Cancel =True and then call my form. And then from the form, set the

sending account and try and send the message, but I get the same error.

Is there any way to change the sending account after I have clicked the

Send Button?

Or can I edit the default email message and place my code behind the

Send Button?

Thanks.

p912s
 
K

Ken Slovak - [MVP - Outlook]

In ThisOutlookSession put something like this at the module level:

Dim WithEvents colInsp As Outlook.Inspectors

Dim WithEvents oMail As Outlook.MailItem

In the Application_Startup() event handler instantiate the Inspectors

collection:

Set colInsp = Application.Inspectors

That will let you handle the NewInspector() event. In that event handler

something like this:

If Inspector.CurrentItem.Class = olMail Then

Set oMail = Inspector.CurrentItem

End If

That will let you handle the oMail.Send() event, which fires when you click

the Send button.

 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
S Macro using .SendUsingAccount only works the first time, after starting Outlook Outlook VBA and Custom Forms 4
Rupert Dragwater Background colors not saving in Outlook 365 Using Outlook 11
petunia Outlook tasks module sunsetting? Exchange Server Administration 3
G Save emails as msg file from Outlook Web AddIn (Office JS) Outlook VBA and Custom Forms 1
D Outlook VBA forward the selected email to the original sender’s email ID (including the email used in TO, CC Field) from the email chain Outlook VBA and Custom Forms 3
U Outlook 2021 not showing contact cards in Searches Using Outlook 2
C Outlook - Macro to block senders domain - Macro Fix Outlook VBA and Custom Forms 2
H Outlook 365 O365 outlook calendar item editing Using Outlook 1
J Outlook 365 html inline images Using Outlook 1
Rupert Dragwater How to get Outlook 365 to open from websites Using Outlook 5
S Why do I have to close and reopen Outlook for macros to work? Outlook VBA and Custom Forms 2
J Outlook 2021 ScanPST errors (yet again ... sorry): repair button missing Outlook 2021 Using Outlook 0
HarvMan Outlook 365 - Rule to Move an Incoming Message to Another Folder Using Outlook 4
K Moved pst to new computer, now Gmail not coming into Outlook Using Outlook 7
S Email Macros to go to a SHARED Outlook mailbox Draft folder...NOT my personal Outlook Draft folder Using Outlook 2
F Running Scripts in Outlook 2021 Using Outlook 0
Nufc1980 Outlook "Please treat this as private label" auto added to some emails - Help. Using Outlook 3
S Outlook 2019 Custom outlook Add-in using Visual Studio Outlook VBA and Custom Forms 0
V Outlook macros no longer run until VB editor is opened Outlook VBA and Custom Forms 0
R Outlook 365 How to integrate a third-party app with Outlook to track email and sms? Using Outlook 2
e_a_g_l_e_p_i I can't believe what I am seeing when trying to install Outlook 2021 Using Outlook 9
Kika Melo Outlook Calendar deleted appointments not in Deleted Items folder Using Outlook 3
P How to get a QR code for automatic signin with Outlook for iOS Using Outlook 5
J Migrating Outlook Using Outlook 1
Retired Geek Outlook for the MAC with Yahoo accounts now very broken Using Outlook 9
S Outlook 2002- "Send" button has disappeared. Help please. Using Outlook 1
L How Stop Outlook Nag Messages Using Outlook 1
TomHuckstep Remove Send/Receive All Folders (IMAP/POP) button from Outlook 365 Ribbon Using Outlook 1
L I Cannot Sign Into My Outlook Account? Outlook VBA and Custom Forms 0
icacream Outlook 2021 - Google calendar in the peek Using Outlook 0
e_a_g_l_e_p_i Question about installing my Gmail account on my iPhone but still getting messages downloaded to my desktop Outlook. Using Outlook 3
F Want to add second email to Outlook for business use Using Outlook 4
kburrows Outlook Email Body Text Disappears/Overlaps, Folders Switch Around when You Hover, Excel Opens Randomly and Runs in the Background - Profile Corrupt? Using Outlook 0
M using excel to sort outlook appointment items Outlook VBA and Custom Forms 4
e_a_g_l_e_p_i MY Outlook 2021 changed the format of the shortcuts for mail, calendar etc. Using Outlook 10
Z Outlook 2021 Outlook new emails notification not working Using Outlook 4
K Changing the Deleted Items location in Outlook 2019 Using Outlook 2
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
V How to use Comas in a picklist in Outlook forms Outlook VBA and Custom Forms 3
e_a_g_l_e_p_i Question about reinstalling Outlook 2021 Using Outlook 5
A Outlook 365 Outlook (part of 365) now working offline - argh Using Outlook 5
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
G LinkedIn tab missing in Outlook 365 (but working in OWA) Using Outlook 0
Jay Freedman Outlook forgets "not junk" marking Using Outlook 0
KurtLass Opening Graphics Attachments in Outlook 2021 Using Outlook 0
P now on office 365 but getting error messages about missing Outlook 2013 cache folders Using Outlook 2
B Outlook config download Outlook VBA and Custom Forms 1
M Short term workaround for when Outlook searching stopped functioning Using Outlook 0
D Outlook 2016 Creating an outlook Macro to select and approve Outlook VBA and Custom Forms 0
L Fetch, edit and forward an email with VBA outlook Outlook VBA and Custom Forms 2

Similar threads

Top