Greg Lovern presented the following explanation :
I'm using a ProgressBar from mscomctl.ocx in 32-bit Excel, where it
works fine in various versions of Excel including 2010.
But in 64-bit Excel 2010, it can't find the library, and I don't see
mscomctl.* anywhere on the computer (Windows 7).
On another 64-bit Windows 7 computer, this one running 32-bit Excel
2010, I do see mscomctl.ocx, in the SysWOW64 folder. The progress bar
control works fine there (in 32-bit Excel).
Is mscomctl.ocx installed by 32-bit Excel, and not installed by 64-bit
Excel?
Is it possible to have a workbook that uses the ProgressBar control
from mscomctl in 32-bit Excel, but does not use it (and does not give
the user an error) in 64-bit Excel? Currently when I open the workbook
in 64-bit Excel, I get an error that it can't find the library.
This workbook goes out to thousands of vendors, and needs to work in
both bitness environments, including vendors who may pass the workbook
back and forth between users, some of whom may be on 32-bit Excel
while others are on 64-bit Excel. Is there a better solution that just
ripping out all the progress bars and replacing them with simple
percentage counters?
Thanks,
Greg
AFAIK there is no 64-bit version of mscomctl.ocx and so the 32-bit
version is the last release of that. Most of these have been replaced
with 64-bit DLLs for Windows 64-bit editions, so you might have to see
if one exists for what you are trying to do. Obviously, if one does
exist, you'll need to work with it as a DLL and not an OCX. This
requires different approach in your code!
What I'm not sure about is whether 64-bit MSO apps can use 32-bit OCXs
since they don't install in the 64-bit System directory. (As you
discovered already)
--
Garry
Free usenet access at
http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc