VBA.net

J

Jon

Visual Basic seems to be moving over to the .net version. Is there any
indication from Microsoft about what will happen with Office automation
using VBA in future versions of office? Will they introduce a VBA.net? Or
will they stick to basing VBA on VB6?
 
J

Jay Freedman

Visual Basic seems to be moving over to the .net version. Is there any
indication from Microsoft about what will happen with Office automation
using VBA in future versions of office? Will they introduce a VBA.net? Or
will they stick to basing VBA on VB6?

That, my friend, is a matter of great speculation. We've heard
assurances that VBA based on VB6 will continue to be part of Office
for "at least the next couple of releases". A recent blog entry from
Brian Jones at MS
(http://blogs.msdn.com/brian_jones/archive/2005/7/12.aspx) says that
VBA will be in Office 12, due next year.

There's already a flavor of Visual Studio 2003, called Visual Studio
Tools for Office (VSTO), that combines .Net with Office automation.
It's in addition to, not instead of, VBA. It's aimed primarily at
corporate enterprise developers who build big applications.

Whether and when there will be any VBA.Net or anything like that is
still a deep dark secret. Personally I think it would be a bad idea
for two reasons. .Net is way too complicated for people who aren't
programmers or for anyone who wants a quick-and-dirty one-off macro,
so Word's fabulous capability for customization would be severely
wounded. And if the difficulty of porting VB6 to VB.Net is repeated
with VBA and VBA.Net, it would be disastrous for anyone who has a big
investment in existing VBA code.
 
J

Jonathan West

Jon said:
Visual Basic seems to be moving over to the .net version. Is there any
indication from Microsoft about what will happen with Office automation
using VBA in future versions of office? Will they introduce a VBA.net? Or
will they stick to basing VBA on VB6?

As Jay said, we don't know. Even Microsoft might not yet have made a
decision on this. These two articles may help you understand the issues and
explaiin the difficulties facing Microsoft.

Office and .NET: Better Together?
http://www.ftponline.com/vsm/2002_08/magazine/departments/guestop/default.aspx

Save Classic VB!
http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=516

If you want try and ensure that VBA is retained in Office, I recommend you
go and sign the Classic VB petition at www.classicvb.org

--
Regards
Jonathan West - Word MVP
www.intelligentdocuments.co.uk
Please reply to the newsgroup
Keep your VBA code safe, sign the ClassicVB petition www.classicvb.org
 
J

Jon

Surely, a future version of office could be made such that it could use
either VBA or VBA.net. All that would be needed is an option statement in
the code.

I don't know anything about .net, but from what a couple of people have told
me, it's superb. So it would be foolish of Microsoft to not offer VBA.net.
 
J

Jonathan West

Jon said:
Surely, a future version of office could be made such that it could use
either VBA or VBA.net. All that would be needed is an option statement in
the code.

I don't know anything about .net, but from what a couple of people have
told me, it's superb. So it would be foolish of Microsoft to not offer
VBA.net.

If it was a simple as offering an Option statement, then they would have
done it for VB.

The problem is that Microsoft significantly changed the syntax between VB6
and VB.NET in all sorts of ways that quite frankly have nothing at all to do
with compatibility with the platform. VB.NET is for all practical purposes a
new language, with a new syntax, a new IDE, a new Forms library, a new
runtime, a new object library and a new event model.

It might be that in doing so, they have created a better language. But it is
undeiable that it is a different language.

Many of those who have built substantial applications in VB6 report that it
is impractical to upgrade to VB.NET without rewriting most of it. Microsoft
AntiSpyware (which they acquired when the bought Giant) was written inj VB6.
Microsoft are not even attempting to use their own migration tool on to
convert the code to VB.NET, but instead are rewriting the entire application
in C++.

Now, if a VBA.NET were to come out, it is likely that there would be as many
migration problems as there are between VB6 and VB.NET. If VBA.NET comes out
in parellel with VBA, then there will be little incentive for people to
extend their code in VBA.NET because they will gain little or nothing for
their efforts. If VBA.NET were to come out replacing VBA, then there would
be little incentive for large companies to pay for the upgrade to Office,
since they would have to factor in the cost of rewriting every bit of VBA
code that anybody has written or recorded anywhere in the organisation.


--
Regards
Jonathan West - Word MVP
www.intelligentdocuments.co.uk
Please reply to the newsgroup
Keep your VBA code safe, sign the ClassicVB petition www.classicvb.org
 
G

Gerald Fay

Microsoft over the years has destroyed every competitor in the field.
Now that they have the programmer base they can, and will direct the field
in whatever direction they see fit. Hopefully it will be for the better.

There are few options. They have all turned to vaporware.
 
H

Howard Kaikow

Jon said:
Surely, a future version of office could be made such that it could use
either VBA or VBA.net. All that would be needed is an option statement in
the code.

VBA provides a WordBasic object thru which something resembling WordBasic
may be used.

I would expect that any successor to VBA would provide a VBA object, just as
VB .NET provides for certain legacy VB 6 statements by including the
appropriate library reference,
I don't know anything about .net, but from what a couple of people have told
me, it's superb. So it would be foolish of Microsoft to not offer VBA.net.

IMNSHO, VB .NET is indeed a "better" language than VB, but there's still the
drawback that compiled VB .NET code is not safe from prying eyes, whilst
compiled VB 6 is safe from prying eyes.
 
J

Jonathan West

Jon said:
Why is compiled VB.NET not safe from prying eyes?

Because it compiles to something called Intermediate Language (IL), which is
in turn run though a Just-In-Time compiler on the target computer before
being executed. Intermediate language is not all that different from VB.NET
or C#. it is still object oriented and structured. The IL code doesn't have
comments in it, but you can open the executable with a text editor, read the
IL and get a decent idea of how the program works.

There are obfuscators which make the reading process harder, but I have
describe dthe essence of it. I believe there are decompilers areound that
will go from IL and produce passable VB.NET or C# code.


--
Regards
Jonathan West - Word MVP
www.intelligentdocuments.co.uk
Please reply to the newsgroup
Keep your VBA code safe, sign the ClassicVB petition www.classicvb.org
 
J

Jon

Presumably it is in theory possible to fully compile a VB.NET programme,
producing a .EXE file if someone came out with a compiler. AFAMKG, Java
produces something like an Intermediate Language. I've got a feeling that
Borland do a Java compiler (??? J Builder) that can produce an .EXE file to
run on a PC. OK, so the result isn't platform independent, but for some
applications that may not matter, and you're no worse off than you would be
with VB, I assume. Correct me if I'm wrong in what I'm saying since I'm
close to a beginner in all this.
 
H

Howard Kaikow

Jon said:
Why is compiled VB.NET not safe from prying eyes?

Because the managed .NET languages compile to an intermediate code that can
easily be examined.
 
H

Howard Kaikow

Jon said:
Presumably it is in theory possible to fully compile a VB.NET programme,
producing a .EXE file if someone came out with a compiler.

Nope, not for managed code, we are stuck wit hthis as MSFT cares not one
bot about our intellectual property,
 
J

Jon

I'm not sure what you mean by 'managed code'. Why couldn't someone other
than Microsoft write a full compiler? I admit that I don't know much about
VB.NET, so perhaps it's completely different from Java, making full
compilation impossible. If this is true, then why can't it be fully
compiled? Is it the same with the other .NET languages (C++, C# etc)?
 

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