If I'm working in Excel and want to use automation to access a Word Document, I can check if Word is already running and, if it is, use an existing instance of it, or I can create a new instance. There is no problem running multiple instances and I may or may not want to do so.
If, instead, I want to access Outlook Mail, I don't have the same options; there can only be a single instance of Outlook running at any one time. If I try and create a new instance I will be connected to the existing one if there is one.
I see a lot of code posted, here and on other boards, that, whenever access to Outlook is required (even to a required existing instance), codes to create a new instance - either using CreateObject or Dim ... New ... This seems like sloppy coding to me, relying on the system to understand what you mean even though you don't say what it is.
Even more confusing to me, I see:
[VBA]Set appOL = CreateObject("Outlook.Application")[/VBA]
used within Outlook itself, instead of the simpler
[VBA]Set appOL = Application[/VBA]
or just simple use of the Application object.
Is there something I'm not understanding - and/or are there any implications of this - or is there a lot of poor code out there?