VB6.0 vs VB6.3

J

Joe Blow

I wrote a written a very nice utility in 6.3 for work. Of course I find out
that work has 6.0 and it doesn't like some of the things in my macros. Do I
re-write the code at work? Can I make 6.3 think that it is 6.0? This has to
be a common enough thing. Any help appreciated.
 
H

Harald Staff

Visual Studio ? I believe the languages are identical, with no new or
changed methods or properties. But some of the components was upgraded in
the service packs. The .3 is servicepack 3, a free download from Microsoft
website. I Suggest you download SP5 at once and upgrade both versions to
6.5. There's a recent SP6 too. I don't have it so I can neither recommend or
warn. 5 is good.

But you should take this to a Visual Basic newsgroup, this place deal with
Excel.

HTH. Best wishes Harald
 
J

Joe Blow

Visual Studio ? I believe the languages are identical, with no new or
changed methods or properties.

So the problems I am having are due to the Excel macro being run on a
different machine, not becuase the other machine doesn't have the .3?
But you should take this to a Visual Basic newsgroup, this place deal with
Excel.

Well, it is an Excel macro that I programmed that I am having the problem
with.
 
H

Harald Staff

Well, it is an Excel macro that I programmed that I am having the problem
with.

Gotcha, sorry. It is not Visual Studio, it is the version in the VB editor
in Excel. Forget the nonsense advice in my first reply.

My Excels here say Visual Basic (Excel97) and Visual Basic 6.3 (Excel 2000,
XP and 2003). Which Excel version is causing the problems ? See Help > About
in Excel herself.

This also makes it a "what's wrong with my code" question with tons of
possible answers. You have to post the code.

Best wishes Harald
 
H

Howard Kaikow

If you need to have you code running on multiple Excel versions, then you
have two choices:

1. Code with the earliest version you wish to support. and use early
binding. Restrict the statements used to only those that will work in the
earliest version you wish to support. Note that you may still encounter code
that does not work the same, if at all, in more recent versions of Excel.

2. Code with the latest version you wish to support and use late binding,
Restrict the statements used to only those that will work in the earliest
version you wish to support, Note that you may still encounter code that
does not work the same in earlier versions of Excel, especially with Excel
97.

There is actually a 3rd choice, but it is more difficult. One can construct
code so that some parts use version dependent code, but this gets tricky.

The overall task can oft be made easier if one codes in VB 6 (automating
Excel via VB 6), instead of Excel, because the VB 6 code would allow you to
use certain code that would not otherwise work in Excel 97, not to mention,
the code should execute faster and would be protected from prying eyes.
 
J

Joe Blow

Now it all starts to make sense. My Excel is 2002 with VB6.3, work's is
Excel 2000 with VB6.0 I borrowed a copy of work's Office disk and installed
Excel seperately so that I have both vertions now. I have gone through and
deleted/changed/commented out, the code that doesn't work on the 6.0

Is turning Excel/VBA 6.0 into 6.3 as easy as installing an update?
Is 6.0 OLD and behind the times? ie is it worth it for me to guide 20+
stores to install the above update?
Should I just suck up the differences and code in 6.0?

Thank you for your experience.
 
J

Joe Blow

Well I borrowed a copy of work's Office disk and installed their version on
my machine as well so that I have 2000(6.0) and 2003(6.3). I figure that all
the stores will have the same version (though I should check that out) so I
guess I should just code on the 2000(6.0) copy.

Your idea of coding in VB directly smells of good thinking but I have never
coded in VB before, is there a hurdle to making VB code work with Excel?
 
H

Harald Staff

Joe Blow said:
Now it all starts to make sense. My Excel is 2002 with VB6.3, work's is
Excel 2000 with VB6.0 I borrowed a copy of work's Office disk and installed
Excel seperately so that I have both vertions now. I have gone through and
deleted/changed/commented out, the code that doesn't work on the 6.0

That's the way to do it. It's not the .3 that causes the problems, it's the
new objects / methods /parameters in Excel 2002. No way those will ever work
with 2000. Eve if your VBA code recognized them, the old lady won't.
Is turning Excel/VBA 6.0 into 6.3 as easy as installing an update?

I have no idea how my Excel2000 became VB 6.3. But I have Visual Studio on
my system and ran several servicepacks on it, so I guess it must have
upgraded some VBA too.
Should I just suck up the differences and code in 6.0?

Yes, we have to write in the lowest version used. That's just the way it is.

Glad you solved this.

Best wishes Harald
 
Top