VSTA info

Ross has done an excellent post on VSTA, what it is, how it works etc. Well worth a look if you are interested in VBA and what the future may holdfor us Office Devs.

Ross on VSTA

He has also listed lots of useful resources.

Nice one Ross.

For those unfamiliar, VSTA (Visual Studio Tools for Applications) is the .net equivalent of VBA. It is technology that MS licence to other vendors to enable them to include powerful macro features in their apps, much easier than writing from scratch. I mistakenly thought it would be in Office 2007 (technically it is, but its one of the new products not the ‘classics’). I think I would like it in the next Office, although I can also see reasons why they may be better separate.

I suspect this is to sort of thing we will be talking about when we meet up in June(?).

Cheers

Simon

Advertisements

7 Responses to “VSTA info”

  1. Stephane Rodriguez Says:

    “For those unfamiliar, VSTA (Visual Studio Tools for Applications) is the .net equivalent of VBA.”

    Allow me a digression, I believe the wording isn’t quite right.

    VSTA is the equivalent of VBE, the Visual Basic Editor.

    A bit of history first :
    – VBA : VBA run-time (shipped by Summit Software). Generic software from Microsoft, runs on Windows only.
    – VBE : Visual Basic Editor (source code editor, object browser, debugger)
    – VBA SDK : native code that allows an arbitrary application to host the VBA run-time and VBE. (shipped by Summit Software) External companies can license this stuff in order to mimic VBA integration in their products : for instance, Business Objects licenses it in its flagging FullClient product.
    – Excel COM object model
    – VBA for Excel : a combination of all 3 above, targeting the Excel COM object model, hosted in “Excel.exe”

    With the Office and .NET worlds (still separate at this point), the equivalent is :

    – VSTA run-time : it’s the .NET run-time running in the .NET security model, simply put.
    – VSTA : equivalent of VBE for .NET languages. VB.NET is the most developer friendly programming language of all .NET languages thanks to its support for optional method parameters. (shipped by Summit Software)
    – VSTA SDK : equivalent of VBA SDK. (shipped by Summit Software)
    – Excel COM object model
    – VSTO for Excel : a combination of all 3 above, targeting the Excel COM object model, hosted in “Excel.exe”. Also contains additional API. Corresponding source code is stored in .NET assemblies living outside Excel files. Contrary to VBA for Excel, VSTO for Excel contains native/.NET transition phases which has implications in security, deployment, performance and other aspects.

  2. Marcus Says:

    Thanks for the clarification, Stephane. Do you have any practical thoughts on the impact VSTA may have?

    Is it me, or dos VSTA appear to have more immediate relevance than VSTO to VBA developers.

    Also, as discussed previously, the slow uptake of MSO 2007 (in my world anyway) probably means that any real work is about two years away.

    Regards – Marcus

  3. Stephane Rodriguez Says:

    “Do you have any practical thoughts on the impact VSTA may have?”

    For the moment it has none, and probably won’t have any until it ships with Office in all editions. Of course, VSTA itself is nothing since it’s a generic run-time with no plug into anything. What we are talking about is its incarnation in Word/Excel/Powerpoint/Outlook, ie VSTO for Word, VSTO for Excel, … That’s what has value to Office developers.

    Perhaps there will come a day when VSTO forums won’t be filled with deployment problems anymore. Who knows?

    At best, VSTA is useful for non-Office third-party integrators. But remember, VSTA is far from free.

    By the way, should someone want a source code editor + debugger on top of .NET, MDBG is a free alternative (provided by MS). Link : http://blogs.msdn.com/jmstall/archive/2004/11/11/255923.aspx

    Combine MDBG with this great editor (intellisense, …) available here : http://www.sliver.com/dotnet/SnippetCompiler/, and you have a perfect replacement.

    “Also, as discussed previously, the slow uptake of MSO 2007 (in my world anyway) probably means that any real work is about two years away.”

    Yes, this, and also the mixed message being sent by Microsoft to the IT departments. On one hand, there is this new “no macro” thing (XLSX versus XLSM). On the other hand, nothing stops addins from being loaded or VBA to execute unsafe code (once allowed because everyone clicks on OK in security prompt dialogs), or VSTO to execute stuff that are also dangerous. Not to mention that the fact that .NET assemblies produced by VSTO are not part of OPC packages may be good for the IT department, but are suicide for any power user (or third-party) out there.

    My 0.5 cent

  4. Stef Says:

    My last comment is gone. Huh?

    -Stephane Rodriguez

  5. Harlan Grove Says:

    Namespaces could be useful, and built-in regular expression support would be very useful, but this still seems like overkill. Then again, would this mean I could finally abandon VBx and use C# to write udfs and user-visible macros? Or any other .Net language?

    The comments about scalability in one of the videos linked in the other blog struck me as so much BS. If a piece of VB

  6. Harlan Grove Says:

    Namespaces could be useful, and built-in regular expression support would be very useful, but this still seems like overkill. Then again, would this mean I could finally abandon VBx and use C# to write udfs and user-visible macros? Or any other .Net language?

    The comments about scalability in one of the videos linked in the other blog struck me as so much BS. If a piece of VBA or VSTA code mostly involved manipulating Excel (or application-specific) objects, how would scaling up to VS Pro do anything more than add to the filesize of the final result? The upscaled code would still have to manipulate the same objects, no? I suppose they meant in the context of outside applications, so developers would have access to the application code itself. If so, just how relevant is this to MSFT Office?

  7. Simon Says:

    Stephane
    Sorry it got caught in moderation,and I havent been on line till now.
    (I’m stuck doing admin misery)
    cheers
    Simon

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: