This article is from the Spreadsheets FAQ, by Russell Schulz casfaq@locutus.ofB.ORG with numerous contributions by others.
If some other application overwrites the OLE DLLs, you will get
this error at odd times.
One fix posted by Scot Foss follows:
Move these files to a different directory and then Uninstall
Excel. If you reinstall Excel every thing should work. After
reading through the related articles in dejanews one person
said that Microsoft Video was the culprit that overwrote the
DLLs. The only thing that I can think of that I installed
in the last month was Microsoft Encarta, I haven't
experimented to see if it was Encarta that messed up the
DLLs, so I can't be sure.
Here's the list of the files:
I deleted Excel and backed up and deleted the following
files, and reinstalled Excel from the MS-Office disks.
OLE2.DLL
OLE2.REG
OLE2CONV.DLL
OLE2DISP.DLL
OLE2NLS.DLL
OLE2PROX.DLL
VBA.DLL
VBAEN.DLL
VBAEN.OLB
STDOLE.TLB
STORAGE.DLL
TYPELIB.DLL
 
Continue to: