Detecting when the SEND button is pressed
As far as I know, there are two ways to send a mailitem in Outlook:
By physically pressing the SEND button in the Inspector window, or
Executing
MailItem.Send
through a macro command
How can I distinguish these using Outlook VBA?
Specifically, how can I detect when the SEND button is pressed?
Can ItemSend()
be modified to capture only this event, and not the other?
vba button outlook send
add a comment |
As far as I know, there are two ways to send a mailitem in Outlook:
By physically pressing the SEND button in the Inspector window, or
Executing
MailItem.Send
through a macro command
How can I distinguish these using Outlook VBA?
Specifically, how can I detect when the SEND button is pressed?
Can ItemSend()
be modified to capture only this event, and not the other?
vba button outlook send
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52
add a comment |
As far as I know, there are two ways to send a mailitem in Outlook:
By physically pressing the SEND button in the Inspector window, or
Executing
MailItem.Send
through a macro command
How can I distinguish these using Outlook VBA?
Specifically, how can I detect when the SEND button is pressed?
Can ItemSend()
be modified to capture only this event, and not the other?
vba button outlook send
As far as I know, there are two ways to send a mailitem in Outlook:
By physically pressing the SEND button in the Inspector window, or
Executing
MailItem.Send
through a macro command
How can I distinguish these using Outlook VBA?
Specifically, how can I detect when the SEND button is pressed?
Can ItemSend()
be modified to capture only this event, and not the other?
vba button outlook send
vba button outlook send
edited Nov 16 '18 at 1:45
K.Dᴀᴠɪs
7,320112440
7,320112440
asked Nov 16 '18 at 0:42
BarokBarok
508
508
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52
add a comment |
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52
add a comment |
1 Answer
1
active
oldest
votes
I am not entirely sure if there is a way of detecting the method in which the item was sent or not - however, there is still at least a workaround that will give you the same effect. This will require that you create a Boolean variable at the top of your module, in this case we are using isVBA
.
Inside the event handler, you will add an If Not isVBA
statement - this will be True
whenever you manually send an item by physically pressing your button.
However, in the routine that uses the MailItem.Send
method, you will add isVBA = True
anytime before the send occurs - which will tell your event handler that this was not a 'manual' send.
Here's a visual representation:
Private isVBA As Boolean
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Not isVBA Then
Rem: Do what you need to do with a MANUAL send
End If
End Sub
Sub myVBASendMethod()
' Setting this to true will tell the event that you're using MailItem.Send
isVBA = True
' Event Triggered using MailItem.Send
' Reset this back to false
isVBA = False
End Sub
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53329836%2fdetecting-when-the-send-button-is-pressed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I am not entirely sure if there is a way of detecting the method in which the item was sent or not - however, there is still at least a workaround that will give you the same effect. This will require that you create a Boolean variable at the top of your module, in this case we are using isVBA
.
Inside the event handler, you will add an If Not isVBA
statement - this will be True
whenever you manually send an item by physically pressing your button.
However, in the routine that uses the MailItem.Send
method, you will add isVBA = True
anytime before the send occurs - which will tell your event handler that this was not a 'manual' send.
Here's a visual representation:
Private isVBA As Boolean
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Not isVBA Then
Rem: Do what you need to do with a MANUAL send
End If
End Sub
Sub myVBASendMethod()
' Setting this to true will tell the event that you're using MailItem.Send
isVBA = True
' Event Triggered using MailItem.Send
' Reset this back to false
isVBA = False
End Sub
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
add a comment |
I am not entirely sure if there is a way of detecting the method in which the item was sent or not - however, there is still at least a workaround that will give you the same effect. This will require that you create a Boolean variable at the top of your module, in this case we are using isVBA
.
Inside the event handler, you will add an If Not isVBA
statement - this will be True
whenever you manually send an item by physically pressing your button.
However, in the routine that uses the MailItem.Send
method, you will add isVBA = True
anytime before the send occurs - which will tell your event handler that this was not a 'manual' send.
Here's a visual representation:
Private isVBA As Boolean
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Not isVBA Then
Rem: Do what you need to do with a MANUAL send
End If
End Sub
Sub myVBASendMethod()
' Setting this to true will tell the event that you're using MailItem.Send
isVBA = True
' Event Triggered using MailItem.Send
' Reset this back to false
isVBA = False
End Sub
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
add a comment |
I am not entirely sure if there is a way of detecting the method in which the item was sent or not - however, there is still at least a workaround that will give you the same effect. This will require that you create a Boolean variable at the top of your module, in this case we are using isVBA
.
Inside the event handler, you will add an If Not isVBA
statement - this will be True
whenever you manually send an item by physically pressing your button.
However, in the routine that uses the MailItem.Send
method, you will add isVBA = True
anytime before the send occurs - which will tell your event handler that this was not a 'manual' send.
Here's a visual representation:
Private isVBA As Boolean
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Not isVBA Then
Rem: Do what you need to do with a MANUAL send
End If
End Sub
Sub myVBASendMethod()
' Setting this to true will tell the event that you're using MailItem.Send
isVBA = True
' Event Triggered using MailItem.Send
' Reset this back to false
isVBA = False
End Sub
I am not entirely sure if there is a way of detecting the method in which the item was sent or not - however, there is still at least a workaround that will give you the same effect. This will require that you create a Boolean variable at the top of your module, in this case we are using isVBA
.
Inside the event handler, you will add an If Not isVBA
statement - this will be True
whenever you manually send an item by physically pressing your button.
However, in the routine that uses the MailItem.Send
method, you will add isVBA = True
anytime before the send occurs - which will tell your event handler that this was not a 'manual' send.
Here's a visual representation:
Private isVBA As Boolean
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Not isVBA Then
Rem: Do what you need to do with a MANUAL send
End If
End Sub
Sub myVBASendMethod()
' Setting this to true will tell the event that you're using MailItem.Send
isVBA = True
' Event Triggered using MailItem.Send
' Reset this back to false
isVBA = False
End Sub
edited Nov 16 '18 at 1:48
answered Nov 16 '18 at 1:42
K.DᴀᴠɪsK.Dᴀᴠɪs
7,320112440
7,320112440
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
add a comment |
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
@K. DAVIS I think your solution will do well for the problem at hand. Thank you.
– Barok
Nov 16 '18 at 5:52
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53329836%2fdetecting-when-the-send-button-is-pressed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Maybe add some tracking of mousse events, so you know when the last time the mouse was clicked. (Will not work when using keyboard)
– Mr Zach
Nov 16 '18 at 0:52