Word 2003 crashes or fails to run macros after Windows Update last night

B

Brian Knittel

On two different systems that installed a Windows Update last night, Word
2003 no longer runs macros that worked yesterday.

On Vista SP1 64-bit, Word 2003 faults and quits. The exact statement that
causes the crash varies.
On XP Pro SP3, the same macro package just stops with run-time error 361,
"Can't load or unload
this object." loading a form.

On Vista, the macro application worked again after rolling back to the
system restore point taken at 3AM today.
I haven't rolled XP back yet. I can see only three updates installed last
night:

Security Update for Windows XP (KB960715)
Security Update for Windows Internet Explorer 7 (KB961260)
Update for Outlook 2003: Junk E-mail Filter (KB959614)


Anyone else seeing issues with Word 2003 today?

Brian
 
B

Brian Knittel

The macro application uses an MSFlexGrid control in a form, and it looks
like one of last night's updates included a kill bit for the FlexGrid
control. That may explain part of the problem. But Word shouldn't be
crashing outright.
 
T

Terry Farrell

If this was due to the updates, you should call Microsoft and make a support
call. All support calls for update bugs are free of charge.
 
B

Brian Knittel

If this was due to the updates, you should call Microsoft and make a
support call. All support calls for update bugs are free of charge.

I don't know if they'd be interested in hearing about it. Technically
speaking, the update didn't directly cause the problem. The update installed
a kill bit (disabled) an old version of the MSFlexGrid ActiveX control. With
the control disabled, Word crashed when it tried to instantiate the ActiveX
object in a form. The bug is in Word or VBA, and it's a generic problem
(handling of controls with kill bits) as opposed to something specific about
this particular update.

And, again technically speaking, it's my responsibility to have known that
the MSFlexGrid control was updated last October, and I should have
downloaded it and installed it before this kill bit came along.

Much worse things happened yesterday in the aftermath. I had a *heck* of a
time getting the application going again even after installing the updated
version of msflxgrd.ocx (obtained finally via a FoxPro hotfix. Microsoft
won't give this updated control away easily). Word simply refused to run the
form, saying that there was a missing object reference. I got the error
"Object library invalid or contains references to object definitions that
could not be found." In the References dialog, though, nothing said
"MISSING".

What it turned out to be was that the FlexGiid object had been registered
both machine-wide and specifically for my user account (that is, both under
HKEY_CLASSES_ROOT and in HKEY_CURRENT_USER\Software\Classes). I'm not sure
how this came to be, whether I ran regsvr32 under my own account before or
after installing the hotfix, or if the hotfix installer did it, or what, but
the upshot was that the damn thing would not instantiate until I deleted the
entries for the flexgrid control under HKEY_CURRENT_USER\Software\Classes.
It was just chance that I tried running the application as Administrator and
found that it worked; otherwise I would never have thought to look there.

Anyway -- one lesson here is that when you can't get an ActiveX control to
work in VBA or a Word or Excel macro form, check the registry to see if
HKEY_CURRENT_USER\Software\Classes has a definition for the control. It
probably should not. Controls should be registered by Administrator only,
and the definitions should be in HKEY_CLASSES_ROOT.
 
V

VenkatatCincy

Right now I am on your shoe and not only me many of my users having same
issue, helpdesk doesn't want to change the registry file, is there any
workaround to solve this issue.
We are using MSFlexGrid ActiveX Control in Excel, when I try to debug we are
getting Compile Error, variable not defined at MSFlexGrid. Could you please
help me if you find solution.
Thanks in Advance,
V
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top