Frankly speaking, I don't believe that this long-running problem has a
solution, because of the special architecture of Excel.
This problem has been known by now for about a decade, and many people have
claimed to have found various solutions that worked for them.
I have tried several of these solutions, and none has worked for me.
Then I started tracing the operation of Excel when starting.
On the visual level, I have observed that if Excel is minimized, then calling
a second spreadsheet will cause the first to be restored and displayed,
and only then does the second one appear in front. Even funnier, when multiple
spreadsheets are minimized, opening a new one will cause the last-called to
be displayed, and only then does the newly-called one appear in front.
On the process level, this is even stranger. There is always only one process
called EXCEL.EXE
. When starting a new spreadsheet, we see the following:
- A new
EXCEL.EXE
appears for the new spreadsheet
- A short wait occurs
- The last spreadsheet appears, immediately followed by the new one
- The new
EXCEL.EXE
terminates itself, leaving only the original EXCEL.EXE
running and displaying both spreadsheets by itself.
This reminded me of the
SDI and MDI
evolutions of Office, when Office programs once had two modes of running:
- SDI (single-document interface) - Each document had its own program instance,
each showing as a separate entry on the taskbar
- MDI (multiple-document interface) - Only one instance of the program was running,
showing one entry only in the taskbar.
There used to be an option in each Office program called
"Show all windows in the taskbar" that controlled whether Office programs
started in SDI or MDI mode. However, this option was
removed in Office 2013.
The current Office mode is MDI, where for all the displayed documents there is
only one instance of the program. However, they did manage to have a separate
entry on the taskbar for each document.
When some Microsoft Office architect made this decision for Office 2013,
Word apparently had better developers, because newly-opened Word documents
appear instantly, even though there is only one winword.exe
instance.
Excel developers apparently adopted a more cumbersome mode of
communication between Excel instances, so if Excel is already running, the new
Excel instance takes much longer to communicate with the older instance,
letting it know that it has a new spreadsheet to open and display.
Solution: There is none. The only "solution" I can offer is to go back to a version
prior to Excel 2013, which is certainly no solution at all.
Microsoft makes its decisions, and we are obliged to follow.