For those of you have tried to use Macros on one of Microsoft Office products, you will get this nightmare. Excessively speaking actually, this is not quite a nightmare. Just a misplaced or updated DLL files.
My application uses Excel, Macros, and Access. Errors appeared when (one of the good mates) helpdesk guy install Microsoft Office Communicator 2005, Adobe Reader 8 and update on computer domain system from SR1 to SR2. My application would not run properly after this particular action. Specifically, one form would not run properly, namely PFFormNG. The errors are
System Error &H80004005 (-2147467259). Unspecified error.
Out of memory
I tried to find the solution with Google aid and could not find the apposite of it. You will either get lost with Google or the opposite. From the pages revealed by Google, I tried all of them, no enlighten at all. The question would be what DLL do these (Communicator, Adobe domain system updating) changed? Still question needed answering.
Then I tried to contact helpdesk to reinstall/repair Excel, didn’t work either. Somehow I tried to import troubled form and by the reinstalling of the Microsoft Office, one code or more from my form uses Microsoft Visio Viewer, and Office tried to reinstall it once more. Then I knew it has something to do with Visio’s DLL. Bingo, it is correct. I look into list of references used by my VBAProject and I found VVIEWER used by my application. I then re-register this specific DLL on my computer, getting this file from one of my ‘un-touched by helpdesk’ co-worker. Voila! It works!
You see, it’s quite convoluted playing with Macros. But don’t you guys prematurely judge VBA sucks. It’s just simply the mirroring of Java’s import jars. That’s it. One of my friend suggested that you backup all of your working DLLs from Windows\ System32 folder and from Microsoft Office installation directory. You will never know which application you installed could change DLL you use. Bear in mind that any files including necessary system files needed by your application can change due to any installation or system change on your PCs.