My outlook mailEx program runs when Outlook does a send/receive. The program occasionally displays informational messages that I want the user to see. But, I don't want the messages to stop MailEx processing.
I solved this completely with a subroutine that displays a non-modal form. In MailEx I simply code
line33: call msgfastbox("line33","This message will stay on screen")
debug.print "But the program will continue to run"
I want to extend the this idea to Excel and Access, so I wonder if there is an API that does something similar but doesn't require a userform.
I have googled for a while and I and found some web pages that say "NO THERE IS NO SUCH API". So, please, don't point me to a potential solution, unless you are really sure that it will run non-modally.
For instance someone suggested I use "declare function myfunc Lib "User32" Alias "MessageBoxA"". Perhaps I used it wrong but the last line of code at http://www.tek-tips.com/faqs.cfm?fid=4699
WAITS for the user to click OK. I tried variations, but they all waited for user response.
In case you are interested, here is the Outlook code that I am currently using. It does exactly what I want. It displays a non-modal message box then continues executing the main program.
Sub msgFastBox(id As String, ByVal Text As String, Optional MilliSeconds)
' displays message non-modally for a few seconds.
' if no seconds are specified, the box will remain open until it is dismissed
' or until another msgFastBox is requested
Call writelogfile(id, Text)
frmMsgFastBox.Text.MultiLine = True
frmMsgFastBox.Text = Format$(Date, "MM/DD/YYYY") & " " & Format$(time(), "HH:MM:SS") & id & " " & Text
If Not IsMissing(MilliSeconds) Then