Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Hi Garry, AFAIK there is no 64-bit version of mscomctl.ocx and so the 32-bit version is the last release of that. Yes, I have since found confirmation of that here, where Microsoft employee Greg Lindhorst says so: http://social.technet.microsoft.com/...b-d8189e6cfd40 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. I don't see one, and Greg Lindhorst of Microsoft said there isn't one. mscomctl.ocx was originally from VB6. Since the demise of classic VB, it has only been distributed with Office and maybe some other Microsoft applications. If Office isn't making a 64-bit version of mscomctl.ocx, then probably no one is. 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) 64-bit Excel can't load a 32-bit library or component, or anything else that would run in Excel's address space. This includes standard DLLs, COM DLLs, and OCX controls. For 64-bit Excel to be able to run something 32-bit, it would have to be a COM EXE, as that would run in it's own address space and Windows would handle the thunking between them. But an EXE would be a weird an inefficient way to do a control. Greg |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Try a test of the Win32 compiler constant...
#If Win32 then 'use progress bar #Else 'use statusbar ? #End If -- Jim Cone Portland, Oregon USA http://www.mediafire.com/PrimitiveSoftware (free and commercial excel programs) .. .. .. "Greg Lovern" wrote in message ... 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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Hi Jim, Try a test of the Win32 compiler constant... #If Win32 then * * *'use progress bar #Else * * 'use statusbar ? #End If I'm using compiler constants for other purposes, especially standard DLLs. But for the ProgressBar control, the error occurs when opening the workbook, because it's a reference in the Controls toolbox. Conditional compiling doesn't help with references. Is it possible to use the ProgressBar control without a reference? Greg |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Greg,
"...use without a reference" I don't know. '-- Jim Cone "Greg Lovern" wrote in message ... Hi Jim, Try a test of the Win32 compiler constant... #If Win32 then 'use progress bar #Else 'use statusbar ? #End If I'm using compiler constants for other purposes, especially standard DLLs. But for the ProgressBar control, the error occurs when opening the workbook, because it's a reference in the Controls toolbox. Conditional compiling doesn't help with references. Is it possible to use the ProgressBar control without a reference? Greg |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Greg Lovern formulated on Wednesday :
Hi Jim, Try a test of the Win32 compiler constant... #If Win32 then * * *'use progress bar #Else * * 'use statusbar ? #End If I'm using compiler constants for other purposes, especially standard DLLs. But for the ProgressBar control, the error occurs when opening the workbook, because it's a reference in the Controls toolbox. Conditional compiling doesn't help with references. Is it possible to use the ProgressBar control without a reference? Greg Why can't you make your own progress bar? I'm sure J-Walk has some code for that! -- Garry Free usenet access at http://www.eternal-september.org ClassicVB Users Regroup! comp.lang.basic.visual.misc |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Hi Garry, Why can't you make your own progress bar? I'm sure J-Walk has some code for that! Doh! Why didn't I think of that? Great idea, and very simple: http://spreadsheetpage.com/index.php...ess_indicator/ Thanks, Greg |
#9
Posted to microsoft.public.excel.programming
|
|||
|
|||
ProgressBar control in 64-bit Excel
Greg Lovern explained :
Hi Garry, Why can't you make your own progress bar? I'm sure J-Walk has some code for that! Doh! Why didn't I think of that? Great idea, and very simple: http://spreadsheetpage.com/index.php...ess_indicator/ Thanks, Greg Well.., sometimes it just takes us a bit of a nudge to move!<g I've been using that code for some time now and so is why I was sure I got it from J-Walk's companion CD that ships with his books. Best of luck to you! -- Garry Free usenet access at http://www.eternal-september.org ClassicVB Users Regroup! comp.lang.basic.visual.misc |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
ProgressBar control displays erratically on Open | Excel Worksheet Functions | |||
ProgressBar Control | Excel Discussion (Misc queries) | |||
ProgressBar control in Userform | Excel Programming | |||
Microsoft ProgressBar Control Version 6 | Excel Programming | |||
Microsoft ProgressBar Control Version 6 | Excel Programming |