PDA

View Full Version : Excel Addin Compatibility Problems with 2013, Invisible ActiveX Control



Soul777Toast
06-19-2015, 09:14 AM
Hello All,

I'm trying to get a third party Excel add in that was written for Excel 2003 to work with Excel 2013, and I'm having some problems. Basically I've tracked it all down to a single .DLL included with the add in that contains (I believe, being a DLL I can't say for 100% because I can't access the code) a single ActiveX control.

The part of the add in that I'm having trouble with is a userform included in the add in that contains the ActiveX control, which is an item browser that connects to a server application running locally on the same computer as Excel. In excel 2010 and earlier, when the userform is called, it pops up with this control with no issues. In 2013, the control is basically invisible. When working in the VBA developer environment, the control is listed as an additional control and can be selected and added to a userform, and again in 2010 or earlier it shows up the way it should (basically just looks similar to a file browse window), there are then functions included in the DLL for connecting the control to the server and getting the required data. What's weird is that in 2013 the control is still listed as an additional control, can still be selected and added to a userform, but all that shows up is the selectable outline of the control! It's totally invisible unless you select it, and then you still only see the resize/move outline of it, no actual content. All of the functions associated with the control are still available, it's entries are the same in the properties window, it shows up in the object browser, but in the userform there's just nothing there.

I've tried enabling everything in the Trust Center, uninstalling and reinstalling the add-in, manually adding the reference to the DLL, nothing seems to work. Also there are no errors at all when the worksheet is opened or when the userform is called, it really seems like everything is there and working but there's just something about how the control was written that 2013 doesn't like.

Here's a screenshot I took of the userform with the control in Excel 2013:

13739

You can see the selected outline of the control, you can see the properties and the declared name (name OPCItemBrowser, class ItemBrowser), you can even see the icon for the control in the toolbox (it's the one in the bottom right corner), but as you can ALSO see the control itself is completely transparent/invisible!

So, does anyone have any ideas as to what might have changed from Excel 2010 to 2013 that could cause an ActiveX control to behave this way?

Paul_Hossler
06-19-2015, 05:29 PM
1. VERY (VERY, VERY) slight possibility that you might need to register the DLL

Open an elevated (Admin) command window and run REGSVR32 <path>\THENAME.DLL




2. This MIGHT help


http://www.rondebruin.nl/win/addins/vbeaddins.htm

Problems when you use Office 2013 on your machineO

n your Office 2013 machine, you also have to make sure the following DLL exists and is registered:

C:\Program Files (x86)\Common Files\DESIGNER\MSADDNDR.DLL (path in a 64 bit OS)

In a 32 bit OS version to open the folder use Start>Run or use Start and use the Search box and enter:
%commonprogramfiles%\DESIGNER

In a 64 bit OS version to open the folder use Start>Run or use Start and use the Search box and enter:
%commonprogramfiles(x86)%\DESIGNER

This is required in order for VB6 COM add-ins that use the COM Add-In designer to work. It was installed by all previous versions of Office but not Office 2013. You can copy it from an Office 2010 computer if you don't find it on your Office 2013 machine, than you need to register it like I show you above.

You can also download the 2010 dll file from my site if you want so you can copy it to your 2013 machine.
Download MSADDNDR.DLL (http://www.rondebruin.nl/win/winfiles/MSADDNDR.zip)

See also the information in this KB from microsoft
http://support.microsoft.com/kb/2792179


3. From the screen shot it looks like the add in is unlocked. You might try to open it and re-save as a XLAM file. Select the ThisWorkbook and change IsAddin to False to make it visible. Then save it like you would any add -in

Good Luck

Soul777Toast
06-22-2015, 07:04 AM
Thanks for the reply! I just tried your first two suggestions, unfortunately they don't seem to have worked. I'm pretty disappointed too because that second one really seemed like exactly the type of thing that might be causing this, I've suspected for a while now that there might be some reference or library that was included by default with Office 2010 and earlier that is missing from 2013 and that the add-in I'm trying to use just needs it. Can anyone else think of any other possible libraries or references that fit that bill?

Anyway, I'm a little confused by your third suggestion, can you elaborate a bit? The add-in is indeed unlocked (the designer wasn't very creative with his password choice, it took me all of about 5 seconds to guess it), but I'm not sure what saving it as an XLAM file would do to help?

Thanks for the help so far, anyone else have any more ideas?