Q:

Outlook 2013 VBA How to Display Modeless Dialog Box

I have VBA code that runs every time a new email message is received.  It has several processing steps including creating excel spreadsheets, so can take a minute or two to execute.  
I would like to display a modeless dialog box that shows updated status messages as processing of the email progresses.  I created a UserForm1, but can't figure out how to instantiate it from the VBA code.  

A:

Like so:
Dim uf As UserForm1
Set uf = New UserForm1
uf.Show False

However, this is not a good practice as a notification should be modal. Maybe you want SystemModal (in front of ALL windows) instead of ApplicationModal (in front of Application)? The VBA MsgBox can be quite customized actually so check out this post here to learn more on how to customize a MsgBox.
To make a Window TopMost
If you want your Form window to be TopMost try this:
https://support.microsoft.com/en-us/kb/184297
  Option Explicit
  Public Const SWP_NOMOVE = 2
  Public Const SWP_NOSIZE = 1
  Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
  Public Const HWND_TOPMOST = -1
  Public Const HWND_NOTOPMOST = -2

  Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos"  _
        (ByVal hwnd As Long, _
        ByVal hWndInsertAfter As Long, _
        ByVal x As Long, _
        ByVal y As Long, _
        ByVal cx As Long, _
        ByVal cy As Long, _
        ByVal wFlags As Long  ) As Long

  Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) _
     As Long

     If Topmost = True Then 'Make the window topmost
        SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, _
           0, FLAGS)
     Else
        SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, _
           0, 0,FLAGS)
        SetTopMostWindow = False
     End If
  End Function

To use this on your form:
 res = SetTopMostWindow(uf.hwnd, True)

A:

Final version of the test code after receiving info from @AnalystCave.com follows.  Still working on how to force the userform to stay on top of the other windows.
Public Sub TestForm()

  Dim uf As UserForm1
  Set uf = New UserForm1

  Load uf

  uf.Show vbModeless
  uf.msgStatus.Text = "11111111111111111"
  uf.msgStatus.Text = "22222222222222222"
  uf.msgStatus.Text = "33333333333333333"
  uf.Hide

  Unload uf

End Sub

In my particular application, what appears on the desktop is predictable.  In this case, one way to solve the problem is:
''' execute something that you know will show on top of the userform then

uf.Show vbModeless      ' this will put the userform back on top

