vba'ers and .net

Z

zkid

Yesterday I attended an all-Microsoft event that introduced Vista and Office
12. If anyone else has seen Office 12, I'm wondering if you agree with me
that it looks like it will force all of us VBA programmers to convert our
code to .Net. Does anyone have any comments?
 
K

Karl E. Peterson

zkid said:
Yesterday I attended an all-Microsoft event that introduced Vista and
Office
12. If anyone else has seen Office 12, I'm wondering if you agree
with me that it looks like it will force all of us VBA programmers to
convert our code to .Net. Does anyone have any comments?

They *say* they're not going to destroy VBA the way they did VB. Latest
quotes:

Microsoft's Upcoming Vista To Support Legacy VB6 Apps
http://www.devsource.com/article2/0,1895,1929552,00.asp

My short take is, don't invest your intellectual capital in any vehicle not
used by the company that's selling it to you.
 
Z

zkid

Thanks, Karl - the white paper was an interesting read.

However, my main concern is that at the conference, they told us Office 12
will no longer allow macros inside of documents. The presenter was unable to
answer my question about templates. I run my programs from a main template
loaded from the Word Startup folder. It then retrieves whichever template it
needs for the specified macro, adds the template, and then uses the code from
inside that template to perform the necessary functions. It then unloads the
template. The macros are not inside a document per se, but I guess my main
question is that are templates considered documents?

Does anyone out there know if this will still work or if Office 12 will
completely disallow this type of operability? This is what concerns me the
most.

Thanks again for your response, Karl.
 
J

Jonathan West

zkid said:
Yesterday I attended an all-Microsoft event that introduced Vista and
Office
12. If anyone else has seen Office 12, I'm wondering if you agree with me
that it looks like it will force all of us VBA programmers to convert our
code to .Net. Does anyone have any comments?

Unfortunately, those who have seen it in detail (i.e. the beta testers) are
still under NDA and so unable to say very much. But Microsoft has publicly
confirmed that VBA is in Office 2007 and has said it will be in the version
after as well.

I get the impression that the Office folks looked at what happened to VB6,
and decided they didn't need to damage a revenue stream amounting to about a
third of Microsoft's total income by doing the same thing to VBA & Office. I
think they came to conclusions to those I reached back in 2002 when I wrote
the following article

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

At a session I attended last year, when demoing programmability features in
Office 12 all the Microsoft folks went to very great lengths to show that
what could be done using .NET could be done in VBA as well.

Maybe they say different things depending on the audience. I know the
audience on that occasion included a lot of high-quality Office developers,
many of whom were decidedly skeptical about moving to Office 12, especially
if it meant a lot of code rewriting.

--
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

Jonathan West

zkid said:
Thanks, Karl - the white paper was an interesting read.

However, my main concern is that at the conference, they told us Office 12
will no longer allow macros inside of documents.

Ah, that is the docx file format, whyich is an XML fileset compressed inside
a zip archive. They also have the docm file format which the same but does
allow macros inside.
The presenter was unable to
answer my question about templates. I run my programs from a main
template
loaded from the Word Startup folder. It then retrieves whichever template
it
needs for the specified macro, adds the template, and then uses the code
from
inside that template to perform the necessary functions. It then unloads
the
template. The macros are not inside a document per se, but I guess my
main
question is that are templates considered documents?

I can answer that, based on publicly available bit & pieces I ihave picked
up from the Microsoft website and various blogs. First of all, the old
binary file formats will continue to be supported (including their macros)
but with some restrictions in terms of accessibility to new features in
Office 12. Second, there are XML-based template file formats dotx and dotm
(without and with macros respectively).
Does anyone out there know if this will still work or if Office 12 will
completely disallow this type of operability? This is what concerns me
the
most.

You will of course have to test your add-ins thoroughly, and given the new
"ribbon" user interface, you may have some rewriting to do to make it all
work. But my understanding is that the VBA is still there.

--
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
 
K

Karl E. Peterson

zkid said:
Thanks, Karl - the white paper was an interesting read.

However, my main concern is that at the conference, they told us
Office 12 will no longer allow macros inside of documents.

I haven't played with O12 personally, but my understanding is there will be
two supported document formats. It will still support the old format, but
the new XML format probably won't be very useful for VBA, no.

Which, if you think about it, is really handing the keys to the kingdom over
to the competition. The only thing that's held back offerings like
OpenOffice so far, is the embedded macro capability offered by Office.
(IMO, of course. <g>)

Anyway, here's lots more to read about upcoming formats:

http://www.google.com/search?q="office+12"+format+site:microsoft.com
presenter was unable to answer my question about templates. I run my
programs from a main template loaded from the Word Startup folder.
It then retrieves whichever template it needs for the specified
macro, adds the template, and then uses the code from inside that
template to perform the necessary functions. It then unloads the
template. The macros are not inside a document per se, but I guess
my main question is that are templates considered documents?

I think you'll be okay, to an extent. There are *major* changes in the way
some stuff will work, especially if its twiddling the UI.
 
Z

zkid

Thanks to both Karl and Jonathan. I value your feedback and very much
appreciate the links provided.

I'm thinking that Office 12 most likely will not be deplyed until mid-2007
(if that). I also believe that most busineses will not upgrade for quite
sometime unless purchasing a lot of new computers that will be bundled with
Vista, etc.

I continue to welcome more feedback from our vba community as to what people
are planning to do and if anyone here has "signed" the VB6 petition.
 
K

Karl E. Peterson

zkid said:
Thanks to both Karl and Jonathan. I value your feedback and very much
appreciate the links provided.

A pleasure.
I continue to welcome more feedback from our vba community as to what
people are planning to do and if anyone here has "signed" the VB6
petition.

Signed it?
 
Z

zkid

Ah, yes. Thanks for reminding me about the difference between docx and docm.
Of course, now, don't forget XAML - XML on steroids. My eyes were starting
to glaze over after 8 hours....
 
J

Jay Freedman

Hi, Karl, good to see you around...

I haven't played with O12 personally, but my understanding is there will be
two supported document formats. It will still support the old format, but
the new XML format probably won't be very useful for VBA, no.

I don't think that's true at all. Really, the file format has nothing
to do with whether or not VBA is useful. I've been running a lot of my
old macros in the O12 beta, and it's fully supported -- including a
lot of the old bugs :-[ . There are also new pieces in the object
model for the new features.
Which, if you think about it, is really handing the keys to the kingdom over
to the competition. The only thing that's held back offerings like
OpenOffice so far, is the embedded macro capability offered by Office.
(IMO, of course. <g>)

Anyway, here's lots more to read about upcoming formats:

http://www.google.com/search?q="office+12"+format+site:microsoft.com


I think you'll be okay, to an extent. There are *major* changes in the way
some stuff will work, especially if its twiddling the UI.

I'll second the opinion that the technique of attaching templates to
use their code will probably work. Whether the macros in those
templates need to be changed depends on what they do, but most
everything still works. In fact, if your macro does "twiddle the UI",
most of that will sort of work too. (Custom toolbars and menus get
translated into special areas on the ribbon.)

As Jonathan explained, you'll need to store your macros in templates
with a .dotm extension.

--
Regards,
Jay Freedman
Microsoft Word MVP
Email cannot be acknowledged; please post all follow-ups to the
newsgroup so all may benefit.
 
K

Karl E. Peterson

Hi Jay --
Hi, Karl, good to see you around...
:)
I haven't played with O12 personally, but my understanding is there
will be two supported document formats. It will still support the
old format, but the new XML format probably won't be very useful for
VBA, no.

I don't think that's true at all. Really, the file format has nothing
to do with whether or not VBA is useful. I've been running a lot of my
old macros in the O12 beta, and it's fully supported -- including a
lot of the old bugs :-[ . There are also new pieces in the object
model for the new features.

Well, by "useful" (bad choice of words) I meant whether VBA could be strored
within. Is my initial impression wrong -- that only the old format
documents can embed VBA?

Thanks... Karl
 
J

Jonathan West

Well, by "useful" (bad choice of words) I meant whether VBA could be
strored
within. Is my initial impression wrong -- that only the old format
documents can embed VBA?


Your initial impression is wrong. There are two flavors of the new format,
indicated by the extensions docx (Word XML document) and docm (Word XML
document with macros). Similarly, templates can have dotx and dotm
extensions.

I understand that the same overall naming convention also applies to Excel
and PowerPoint.


--
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
 
K

Karl E. Peterson

Jonathan said:
Your initial impression is wrong. There are two flavors of the new
format, indicated by the extensions docx (Word XML document) and docm
(Word XML document with macros). Similarly, templates can have dotx
and dotm extensions.

Ah, but there is a variation that doesn't store VBA within it, eh? That's
what I was recalling.

Thanks... Karl
 
C

Cindy M -WordMVP-

Hi =?Utf-8?B?emtpZA==?=,
I continue to welcome more feedback from our vba community as to what people
are planning to do and if anyone here has "signed" the VB6 petition.
I have not signed it. OTOH I haven't signed a "get rid of it" petition, either
:)

I agree with Jay's and Jonathan's takes on the question. VBA will continue to
function as we're accustomed (with the reservations that some things in the
object model may not behave as they used to). Users can still record macros,
even, and these are VBA :)

I've been investigating the new tools, as they come along, and
- a classic VB language is still "best", since it's COM automating COM. The
resources that would go into converting the Office apps from COM to managed
code would be immense. That isn't going to happen in this decade, I'd bet.

- a .NET solution makes sense if you need something .NET provides that
classic VB doesn't (or does only with jumping through a lot of hoops).

- the development strides being made with each new version of VSTO may
change this, as integration improves and the obstacles between .NET and COM are
discovered and eliminated (as far as the developer is concerned). It makes
sense to re-evaluate regularly. As the newest VSTO (3.0) isn't even in beta,
yet, it's too soon to say whether .NET will become a really good bet with the
new Office version. Ask again next year :)

Currently, my main focus for "keeping up" is to get as good a grasp on XML
principles as I can. The new file formats are XML, meaning Office files can be
manipulated without even needing VBA (= VBA/automation can concentrate on
interaction with the user). The new interface (Ribbon) is XML based. All kinds
of interesting possibilities are opening up for Office in the area of data
exchange...

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 :)
 
C

Cindy M -WordMVP-

Hi Jonathan,
Unfortunately, those who have seen it in detail (i.e. the beta testers) are
still under NDA and so unable to say very much.
Actually, the NDA for discussing the client app interfaces was rescinded last
week. We can talk about it as much as we like. Anything concerning server apps
is still under the ban. "Dev" stuff is in a bit of limbo (I asked for
clarification on this point, yesterday)...

Cindy Meister
 

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