Why is Excel 2010/2013 taking 10 seconds open any file?

Solution 1:

I had the same situation with Excel 2010 - it took about 5 seconds to open any Excel file, while word and powerpoint files opening in .1 second. I performed some profiling tests using filemon (procmon from sysinternal) and found suspicious delay in EXPLORER's file operations. Not completely silent delay, by the way Last Explorer operation, related to execute xls file was:

11851 17:01:15,2083239 Explorer.EXE 19420 RegCloseKey HKCR\excel SUCCESS next

11855 17:01:15,8768465 Explorer.EXE 19420 QueryOpen C:\Program Files (x86)\PGP Corporation\PGP Desktop\PGPtray.exe FAST IO DISALLOWED
and

11875 17:01:17,8899033 Explorer.EXE 19420 QueryOpen C:\Program Files (x86)\PGP Corporation\PGP Desktop**PGPtray.exe** FAST IO DISALLOWED
and finally explorer resume opening XLS file:

11894 17:01:19,2073462 Explorer.EXE 19420 RegOpenKey HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\EXCEL.EXE NAME NOT FOUND Desired Access: Read

it is exactly 4 seconds spent on something unknown. So i closed PGPtray.exe and xls files started to open in .1 sec.

I suggest you to perform same steps and try to find whichapplication (if any) are have caused this delay.

Solution 2:

resiliency/document recovery: Using Sysinternal's Process Monitor, I found that Excel 2013 went through thousands of old entries which the Autorecovery function had left in the registry whenever Excel had crashed in previous months. The crashes had probably been caused by a number of commercial add-ins. The Excel start-up remained slow even after deactivating all add-ins and in safe mode. CCleaner had not removed those registry relicts. After deleting them manually, Excel launches within 2 seconds. Delete the registry key Document Recovery to get rid of those relicts: HKEY_CURRENT_USER\Software\Microsoft\Office\1x.x\Common\Resiliency

Solution 3:

I performed some profiling tests using filemon (procmon from sysinternal) just as described in other comment in this thread and discovered the following: Result = "BAD NETWORK PATH"

The bad network path was a reference in registry to a computer name (i.e.,\ops-49626...) that was no longer used. So in regedit I searched for all instances of this computer name and carefully removed it ensuring the change would not cause an issue to an application still used.

The only way I discovered this was to use control + E to stop and start and control + X to start fresh. Then save the log as comma-delimited to open and sort in Excel.

Selecting an Excel file in Windows Explorer is no longer delayed and Excel files now open in a flash !!!

Hope this helps.

Solution 4:

EDIT:

I wrote out the answer below, but on second thought, I think there may be an issue with shell extensions -- addons that "attach" onto Windows and add additional abilities.

I suggest first trying this -- using the free software below, sort the entries by company name, then select all non-Microsoft entries, right-click and disable, reboot, then try Excel again. I'd wager there's a pretty good chance the problem will have disappeared.

Shell Extensions Manager (http://www.nirsoft.net/utils/shexview.html)

Given your description of when the problem appears, it sounds like there may be a problematic, malfunctioning, or even "rogue" extension that is getting between you and Excel opening. It could be something as simple as antivirus, which is often the cause of these sort of problems (A/V getting hung up trying to scan something before letting the file open, delaying a program's opening). In fact, this may likely be the issue.

Once you've disabled all non-Microsoft extensions, rebooted (important!), then tried again, you'll be able to quickly see if it's an extension problem. If Excel snaps open when double-clicking a file in Windows, then it's an extension problem, and the way to narrow down the culprit is to selectively re-enable "half" at a time, narrowing down to the culprit.

If the problem exists, then try my original answer below. And to add to that answer below, Excel.exe may not be the source of the problem. You may have to also add an additional filter for "explorer.exe" which is essentially the Windows executable that functions as the "automobile" to navigating around and opening your files/programs. It could be the culprit that's causing the slowness, and possibly other programs, too -- like antivirus! Try completely disabling/exiting/turning off all types of antvirus and malware programs from the start, too.


Process Monitor!

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

A free utility that shows all the behind-the-scenes actions of any/all running programs.

I suggest running Process Monitor, and in the filter window that immediately pops up, add an include filter for process-name "Excel.exe". This will sift the results so it shows only Excel's behind-the-curtains dealings rather than every program/service on your system.

After you okay that, the collection begins. I suggest you begin this with Excel closed so you can capture the events that happen when it's opening. It's then a matter of looking through the result entries to see what may be causing problems. At the top of PM, there are five buttons you can click/unclick to sort the type of results (registry, file system, network, process/thread, profiling).

You'll quickly be swimming in thousands of result entries, which can be overwhelming. What I've found to help is learning the keyboard shortcuts to stop/start the collecting process (CTRL-E) and clear the window of results (CTRL-X). I'll have a blank PM window that's ready to filter for a program, then I'll press CTRL-E to start collecting, and then I start the program I'm troubleshooting. As soon as it's hit the troublesome spot (e.g. error window, slow start finished, etc.), I quickly stop collecting in PM with CTRL-E. It's useful to stop collecting as soon as you've hit the troublesome spot to reduce the mass of results.

Then it's a matter of sifting through, looking for problems. A helpful tip for doing this is filtering further -- right clicking a type of entry/result/status/etc and excluding (or including) it. If it's an entry that isn't particularly helpful, you can have all those entries removed from the results at once, but with the ability to always restore them back (and easily). You can also highlight and bookmark certain entries that are suspect or worth returning to.