vba vs vb.net

D

Danny J

Hi folks,

I am an IT MS office trainer considereing whether to learn VBA or VB.net.
Will modules in VBA work on office when the new protocols come in? Should I
learn VBA or .net?

Thanks,

Danny
 
J

Jonathan West

Danny J said:
Hi folks,

I am an IT MS office trainer considereing whether to learn VBA or VB.net.
Will modules in VBA work on office when the new protocols come in? Should
I
learn VBA or .net?


if you want to be able to control the existing Office applications, then you
need to learn VBA. Even if VBA were to be removed completely from the next
version of Office (suicidal for Microsoft and therefore unlikely), many
companies use older versions of Office long after the latest has come out.
VBA will be around for a while yet.

In due course, VB.NET may make its way into Office. A start has been made
with VSTO (Visual Studio Tools for Office) but this is only available for
Word & Excel 2003, and is not (as far as I can tell) in widespread use.

VB.NET is a substantially different language from VBA. As for the chances of
being able to convert VBA modules to VB.NET equivalents when VB.NET is
integrated into Office, Microsoft did an execrable job of this for
standalone applications, in the move from VB6 to VB.NET. I haven't yet seen
any evidence that suggests that things will be noticeably better in VBA. Of
course, the worse a job Microsoft do of this, the longer VBA is going to
stay around in large companies, and VBA skills continue to be required.
 
C

Cindy M -WordMVP-

Hi Danny,
I am an IT MS office trainer considereing whether to learn VBA or VB.net.
Will modules in VBA work on office when the new protocols come in? Should I
learn VBA or .net?
One more observation that Jonathan didn't mention, but it doesn't change his
recommendation: Even if MS would move from VBA to VB.NET, that doesn't change
the basic OBJECT MODEL the Office application uses. Knowing and understanding
an application's object model is 80% of what you have to know about
programming an application. Microsoft would have to invest in re-writing the
entire Office application in managed code (it's currently 100% COM) in order
to invalidate this. That would be a major investment, not only of money, but
also of time. It would certainly be years before anything like that would be
released, if ever.

So, even if MS would stick a .NET wrapper around the Office programming
environment, you'd still know most of which you need to know about the Office
application(s) if you learn to use VBA, now.

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Jun 8 2004)
http://www.word.mvps.org

This reply is posted in the Newsgroup; please post any follow question or
reply in the newsgroup and not by e-mail :)
 
D

Danny J

Thanks Cindy


Cindy M -WordMVP- said:
Hi Danny,

One more observation that Jonathan didn't mention, but it doesn't change his
recommendation: Even if MS would move from VBA to VB.NET, that doesn't change
the basic OBJECT MODEL the Office application uses. Knowing and understanding
an application's object model is 80% of what you have to know about
programming an application. Microsoft would have to invest in re-writing the
entire Office application in managed code (it's currently 100% COM) in order
to invalidate this. That would be a major investment, not only of money, but
also of time. It would certainly be years before anything like that would be
released, if ever.

So, even if MS would stick a .NET wrapper around the Office programming
environment, you'd still know most of which you need to know about the Office
application(s) if you learn to use VBA, now.

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Jun 8 2004)


This reply is posted in the Newsgroup; please post any follow question or
reply in the newsgroup and not by e-mail :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top