With M$ Office 2010, VBA7 was introduced. If you write VBA projects in
the 32 bit version they work with the 32 bit office apps. If you write
VBA projects in the 64 bit version they work with 64 bit office apps.
The same IDE is used for both as far as I can tell, leaving only the
'compiler' the key difference between the two. I know VBA is
'interpreted', but it seems to me the ground work for moving to x64 is
done in terms of language and its IDE (called VB Editor or 'VBE' in M$
Office).
I've been duplicating my Excel based apps as stand-alone VB6 Windows
apps since M$ Office 2007 (v12) introduced the 'Ribbon' to replace
menus/toolbars. The main reason for doing this was to provide continued
support for clients not looking to go beyond M$O 2003 (v11), and those
moving away from M$ Office altogether.
It didn't seem to matter that my VBA apps persisted the same
menus/toolbars on their own Ribbon tab. The main point of contention
was the disorientation the new UI presented to users for daily use.
(IMO, the new UI is more productive!)
The Spread.ocx from Farpoint is what I use in my VB6 apps along with
3rd party commandbar controls. Unfortunately, they stopped development
on this component in favor of putting their focus on the .net version
for Windows Forms. I know the OCX works with VS2005 C# because they
provide samples for that, but I haven't seen anything beyond those
VS2005 samples.
It seems that .net has caused the demise of good ActiveX spreadsheet
controls. I suspect this is due to the fact that (as MikeD suggests)
there are things that can't be done with COM that .NET supports
natively via the 'Framework'. VBA7 supports using the Spread.ocx, but
behavior is very different on MS Office forms than when used on the VS
Ruby forms similar to the way some of the VBA intrinsic controls behave
differently. (I can't speak to M$ Office x64 because I haven't used it
yet!)
Ultimately, Classic 32 bit VB will die when x64 is the norm IMO. That's
not likely to happen during my lifetime and so no need for me to move
away from VB. I was looking at going with C++ so I didn't need to
replace my ActiveX components, but in the later versions of VS the only
way to do so is via MFC. VS6 C++ is still viable, though no x64
support.
Classic VB needs a revamp that allows x64 development AND supports
backward compatibility for using COM components. M$ just has to 'want'
to go there for this to happen...
--
Garry
Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion