#1
|
|||
|
|||
Outlook code not running now and again?
Hi all,
I found some code on the net and modified it for my needs. For the most part, it works fine. However some times the code does not run, until I close Outlook and open it up again. I shut down my computer each evening. I am looking for any tips that would explain why it might stop working.? The code is located in ThisOutlookSession module TIA Code:
Option Explicit Public WithEvents myOlApp As Outlook.Application Private Sub Application_Startup() Initialize_handler End Sub Public Sub Initialize_handler() Set myOlApp = Outlook.Application End Sub Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim strGreeting As String Dim iTime As Integer Dim strBody As String, strDivCode As String strGreeting = "" strDivCode = "<div class=WordSection1><p class=MsoNormal>" iTime = Val(Format(Now(), "hh")) ' Quit if not a mail item If TypeName(Item) <> "MailItem" Then Exit Sub End If Select Case iTime Case Is < 12 strGreeting = "morning " Case Is < 17 strGreeting = "afternoon " Case Else strGreeting = "evening " End Select strGreeting = "Good " & strGreeting strBody = Item.HTMLBody strBody = Replace(strBody, "Good day", strGreeting) 'strBody = Replace(strBody, strDivCode, strDivCode & strGreeting) Item.HTMLBody = strBody End Sub |
#2
|
||||
|
||||
If it works when you restart Outlook, it is almost certainly losing the startup event, which in any case shouldn't be necessary. Change the code to
Code:
Option Explicit 'Public WithEvents myOlApp As Outlook.Application 'Private Sub Application_Startup() ' Initialize_handler 'End Sub 'Public Sub Initialize_handler() ' Set myOlApp = Outlook.Application 'End Sub 'Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean) Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim strGreeting As String 'etc
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#3
|
|||
|
|||
Thank you Graham,
I'll give that a go and report back. |
#4
|
|||
|
|||
Hi Graham,
Well I've given it a test for a few weeks and all has worked as I wanted. Thank you for your help. |
#5
|
|||
|
|||
Thought I had posted this the other day?
It is not working again after some time. Cannot pin down exactly when it happens. I just notice a sent email has not changed the greeting. I close Outlook and start again and it works.? Any possible ideas to the cause please.? TIA |
#6
|
||||
|
||||
I have been away for a couple of weeks so am just catching up on older stuff.
Did you change any code in Outlook VBA as that could stop it working. If it stops either restart Outlook or re-run the macro - Initialize_handler
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#7
|
|||
|
|||
Hi Graham,
Thank you for the reply. There is no Initialize_handler any more, that was removed/replaced as you said it was not necessary.? Code is now as below and in module ThisOutlookSession, where it has always been located. The other day it stopped working almost immediately. If I restart Outlook it then works again (for a short while at least) which was the same effect when using the Initialize_handler method. Code:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim strGreeting As String Dim iTime As Integer Dim strBody As String, strDivCode As String strGreeting = "" strDivCode = "<div class=WordSection1><p class=MsoNormal>" iTime = Val(Format(Now(), "hh")) ' Quit if not a mail item If TypeName(Item) <> "MailItem" Then Exit Sub End If Select Case iTime Case Is < 12 strGreeting = "morning " Case Is < 17 strGreeting = "afternoon " Case Else strGreeting = "evening " End Select strGreeting = "Good " & strGreeting strBody = Item.HTMLBody strBody = Replace(strBody, "Good day", strGreeting) 'strBody = Replace(strBody, strDivCode, strDivCode & strGreeting) Item.HTMLBody = strBody End Sub |
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Outlook Macros not Running from a Toolbar | OTPM | Outlook | 0 | 03-16-2017 09:52 AM |
Outlook 2007 running v-e-r-y s-l-o-w-l-y on old XP machine | Jennifer Murphy | Outlook | 4 | 03-10-2017 01:07 AM |
you must restart any running copies of outlook... | otuatail | Outlook | 2 | 12-13-2015 03:38 AM |
Running outlook on what is now a slave drive. | alexb123 | Outlook | 1 | 01-13-2012 10:48 AM |
Outlook 2010 won't open links if Internet Explorer 8 is already running | Svart Testare | Outlook | 0 | 01-28-2010 11:35 AM |