1
votes

I am working on a macro-heavy Excel file with many ActiveX controls. All functions of the file work perfectly on my PC and another, but I get the error 32809 when the Auto_Open macro tries to activate a sheet on other PCs.

I know this problem has been posted many other times on many different forums, but none of the solutions I have found that worked for others have worked for me. I have tried all of the following possible solutions:

  • Deleting all *.exd files from both the Temp\Excel8.0 and Temp\VBA
  • Disabling all ActiveX controls
  • Opening the file on the PC that does not work and saving with a different name
  • Modifying the code slightly, recompiling and saving
  • Deleting all ActiveX controls and re-creating them on a PC that did not work

The only thing that stopped the 32809 error from occurring was deleting all of the ActiveX controls, but if I save the now functioning file on my PC and try to open it on the one that did not work the error comes back.

While deleting all of the controls did stop the error, it is extremely inconvenient to have to recreate all of the controls on a different PC when I make an update to the file. I am open to just about any suggestion that might help with this extremely frustrating problem.

2
Did you install all Office updates. That sometimes does the trick. I had a program that kept crashing, until I realized that it was only crashing on computers that did not install Office updates, so... Another option is to save as an XLSX file, so all macros are stripped out, then copy the modules from the old file to the new XLSX file and save as XLSMAbe Gold
Create custom userform as a replacement of ActiveX...Maciej Los
Abe- I did not install the updates because these are company PCs and I would have to go through our IT department to do so on all 50+ affected computers. Would the XLSX method have to be done on each computer individually?JerryT
Marciej- I considered that method briefly, but that would add a considerable inconvenience to the tool and I would much rather not deal with the complaints.JerryT

2 Answers

0
votes

I ended up deleting all of the ActiveX controls from all of the sheets before saving any changes and writing a routine to run on opening the file to re-create all of the necessary controls and re-save the file with the controls the first time it is opened on any given PC.

Creating the controls doesn't allow debugging until after all routines have completed, so I used the Application.OnTime command rather than simply calling the next routine to work around this.

0
votes

Hope this can help. I have been dealing with famous runtime error 32809 for a while. in the VBA, if some object is not defined, the runtime error 32809 will prompt up when the Excel VBA runs. but now, more cases about this runtime error is not caused by "undefined objects ...", it's caused by the Microsoft security patch problems. the patch makes the VBA ActiveX controls are not recognizable, so VBA treats these valid ActiveX controls as undefined objects. To resolve the issue, Microsoft released new patches to fix the early issue. if you ensure the existing VBA has no "defined object" or it used to work well, you can upgrade your Microsoft patch. the latest version for Excel 2010 should be 14.0.7177.5000 or later.

Suggestion: don't include ActiveX controls in VBA if the product is used by a variety of users. this can cause the endless problem. any windows updates can likely impact the VBA.