What Is the Future of VBA? [closed]
Asked Answered
M

4

12

With the new 2007 versions of MS-Office, Microsoft started to "threaten" VBA with VSTA. Since VBA is pretty commonly used, what do you believe its future is in terms of scripting development for the next 3-5 years?

Or, will it be killed suddenly, like VB6?

Autodesk also dropped it (kind of) upon hearing news from MS.

Menell answered 10/7, 2009 at 23:56 Comment(11)
VBA is still the only meaningful way to program MSACCESS.Agrarian
@John: Its funny. Nobody wants VSTA for that matter. VBA came from microsoft which is used effectively. Non-developers could also use it with some ease. Why would people ask for VSTA, when it uses COM interop at the end of the day?Wort
That's why someone might need VBA, not why someone might want it. If Office 2010 used VSTA instead of VBA, would anyone be sad?Crider
COM Interop? What do you mean? It gives you direct access to all of .NET.Crider
I am sure it will take quite sometime before they throw COM out. Even if you/I will use .net (VSTA), we will be dealing with COM indirectly. VBA or VB is still the better way to deal with COM. What do you think?Wort
@John Saunders - there are a lot of people out there who invested time and money in VBA, and don't appreciate it being here one moment, gone the next. Heard of backward compatibility and grace periods ?Menell
.net brings in its framework which could be a big thing for office development. By COM interop, I mean - office libraries will be available in form of COM DLLs & there will be .net wrappers around it.Wort
I don't know what you're getting at. VSTA gives you full access to the .NET Framework. Of course if you're dealing with an Automation API, you'll still be doing COM. But for everything else, you'll have the complete .NET Framework at your disposal.Crider
@ldigas: I'm sure VBA will disappear just as quickly as VB6 did. Oh, wait, you mean VB6 is still around? Maybe VBA will be as well.Crider
.net framework at your disposal doesn't come for free. It comes with its own complexity. It takes time, money & learning on part of developers/companies to upgrade to something just because MS will drop support. I mean - if people are having working solutions with limited set of functionality - why in the world they need to care for .net framework?Wort
@Wort - my thought exactly. Not to mention the sudded productivity drop over a certain time period just to reach the same functionality which you had before the switch.Menell
M
6

I'd suggest that VB6 wasn't killed suddenly. Official MS support, perhaps, but still the community is alive for both VB6 and VBA here on SO.

As with any technology with a WIDE user/customer/3rd party vendor base, it will take a long time for VBA as a scripting technology to fade away. I would imagine that it will take years for its successor to fully overtake VBA.

Mcclary answered 11/7, 2009 at 0:5 Comment(3)
Yes, but with the new OS's coming slowly, it's going for the final kill. I don't know anyone who succesfully merged their VB6 stuff to Vista from XP, and has it running reasonably well, without thinking of just switching to .NET and rewriting the whole thing.Menell
Smart people. Running a little late, but smart.Crider
I hope you don't mean that I am an idiot ;)Wort
P
6

Agree with Dick Kusleika about deployment

The problems with deprecating VBA are:

  1. Ease of deployment
  2. Visual Studio - another IDE to learn
  3. For the huge base of working, business-critical VBA apps, where nothing will be added by .NET, why would one want to spend the effort and time migrating?
  4. With VBA, non-developers can knock up quick useful applications within Excel/Word etc. You can't do this with .NET/VSTO.
Permissible answered 8/11, 2010 at 14:1 Comment(1)
All points are bang on target. It is 2018 and I'm coding on VBA.Funnelform
L
3

It will die, IMO, but not suddenly. Excel used to have a macro language called XLM - basically a keyboard playback on steroids. XLM is still supported, and there's easily a dozen people who use it. That's why I think VBA will be around for quite a while. It won't be updated, supported, and maybe not even acknowledged, but it will be available.

Sooner or later MS will integrate .NET with Office apps and fewer people will care about VBA. Right now, I can put some VBA in an Excel spreadsheet, send it to a client, and deployment is done. I can tell the IT department it's an Excel workbook with macros, and they don't feel threatened because they don't know any better. When .NET has deployment options that simple, I'll use it instead. That day will come and VBA will slowly start fading away.

Lauryn answered 12/7, 2009 at 13:55 Comment(1)
Yes, you're right. But .xlm, now a little outdated, was a, how to put it, local to Excel. VBA, at least in my case, is spread through several applications, and we use it lot for interconnecting those applications (for example, tables and coordinates from excel to autocad). That's another aspect of that change - even if you change it (MS), all the other vendors still have to make the change as well.Menell
W
2

The language has changed & the way things were done (i.e. drag/drop form, create a macro, modify a few line & you are done) will also change.

It won't remain a tool, which a non-developer will find easy to use.

Object model should remain same for basic stuff (Workbook, Worksheet, Range) etc.
New set of things will get added & that will change the object model & hence new learning (e.g. Ribbon Interface)

Not to forget, .net brings in its own concepts/complexity.

Wort answered 11/7, 2009 at 0:4 Comment(1)
Yes, I agree. Why is it that always when you find a concept that non-developers find easy to use, then you deside to change it. VB6 and VBA were great productive things because of that reason (some others as well, but this one was major).Menell

© 2022 - 2024 — McMap. All rights reserved.