VBA Going Away, Macs Now, PCs Soon
Nom du Keyboard writes "As Microsoft drops support for older Office file formats, it looks like Visual Basic for Applications is also going soon. Mac Office 2008 has dropped VBA in favor of enhanced support for AppleScript, and Office 2009 is scheduled to lose it in favor of Mac incompatible Visual Studio Tools for Applications (VSTA) or Visual Studio Tools for Office (VSTO). This sounds like the Mother of All Backwards and Cross-Platform Incompatibilities — especially since there appears to be no transition period where both the old and new scripting languages will be simultaneously supported. And as past experience with Visual Studio .NET has shown, upgrade tools are far less than perfect."
So my only cross platform choice for scripting office applications is now OO.org? Sweet Jesus! MS, WTF?
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
As Microsoft drops support for older Office file formats, it looks like Visual Basic for Applications is also going soon
Unless... what if there were only some alternative, open-source project that already supports it on Mac and a similar ongoing Windows/Linux project...
Oh well, I can dream.
W
-------------------
This is my SIG. There are many like it, but this one is mine.
Not a troll.
Java has a scripting extension. No, not Javascript(only), but you can plug various Scripting languages into it, or use Judo which is the real endgame for this problem.
Website Hosting
So Mac you thought you where so funny. Well take this! "PC throws a chair label Cross platform compatability right out a Window".
So what you going to do about Mister I am so much cooler than a PC!.
Mac pick up the phone.
"Hello Open Office org?, Yea this is Mac I have a message from Steve for you. How would you like a big pile of cash and about a hundred programers? Really great they will be right over."
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Let me know when they dump Windows.
More than 60,000 Windows programs won't run on Linux.
dim vbaRelevancy
set vbaRelevancy=new activeXObject("vbaWantsToLive")
if vbaRelevancy.microsoftBacking(2009)=false then Office2009="VSTO"
set vbaRelevancy=nothing
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
So yeah. VBA is going away. I wrote a bunch of VBA many years ago (hey, I was young and needed the money :P), now when the version of office it's running under isn't security patched anymore that code's either tossed or re-written from scratch.
And DTS, Data Transformation Services, is already gone. Doesn't work under 64-bit editions of SQL Server 2005. The upgrade tool is worthless. However I did learn something between VBA and when DTS shipped, and I didn't ever get on the DTS bandwagon. So all the bailing-wire-esque scripts I wrote using T-SQL, script files, and Perl to do file formatting that I wrote 8 years ago will keep running forever, while the DTS stuff that someone wrote last year won't work now.
Choose your tools carefully, and work as low as you can, but no lower.
One word.... RAD. Well, ok, it's really three words.
;)
With the PHBs having been promised projects developed in half the time with a smaller team, I can see how VB got it's bloated non-type-safe foot in the door.
And rewriting projects now that are a VB fiasco is making for lots of development jobs
Saying Android is a family of phones is akin to saying Linux is a family of PCs.
Well, this news are for Open Office (and other open source office suites) what Vista was for Linux! If Microsoft continues shooting itself on its foot, open source software will have no trouble at all to gain its deserved market share!
I find it amazing how MS is eager to cut the branch it's sitting on these times.
I thought VBA was one of the major reasons for businesses to not switch to alternatives : because they developped in-house lots of VBA code to achieve some tasks, that would tie them to the MS-Office suite.
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
I don't mind seeing software companies trash their customers' investments this way. It just means that more people will learn (albeit the hard way) just how tied they are to the whims of their vendors, and seek a way to end the pain. The outcomes of that are generally a step forward for the industry.
For example, this could cause some people to start demanding more of their software vendors (e.g. open formats, better support contracts, whatever). Or it could cause them to look at free/open formats and software as a way to avoid this problem in the future.
"Microsoft killed my company, I hold a personal grudge. I don't use Microsoft products and neither should you."-JWZ
1) It has nothing to do with the software in focus.
2) Converting from framework 1.0 to 1.1 was almost effortless, and while converting from 1.1 to 2.0 usually took a tad bit of refinement, compiling a 2.0 application for the 3.0 or 3.5 framework is trivial. VS.Net 2k8 has the option built in so that you can work on 2.0, 3.0, and 3.5 framework compilations with nothing more than a project property change.
3) The VB6 to
That aside, dropping VBA seems like an INSANE thing to do. Not that I like VBA, it's existance is a thorn in my side. But the fact that VBA is so ingrained into the corporate atmosphere. MS is in a pretty rough spot with Office. Office 2k was a great product. Office 2k3 introduced only marginal improvements that were hard to justify to the accountants. Office 2k7 has some neat stuff, but with the new interface and no new functionality for the majority of users, justifying it to both the accountants AND users was difficult. Now the next version of Office is going to abandon VBA, which means that the IT development departments are going to have to either develop real apps for all the users who depend on those heavily modified excel spread sheets, or you're going to have to get some training on the new scripting language for your employees. Either way, that is a HUGE financial investment beyond the $300 license.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
I guess moving to OO or StarOffice would not be such a bad move after all then. La least the macro language is consistent across apllications as well as platforms.
..
I guess the only question remaining is why you would run Windows after that, but you should ave been asking that question quite a while back
Insert
Good. Can we have our zero-based arrays back now?
I am becoming gerund, destroyer of verbs.
Screwed over and locked in, with no cross-platform support?
Flippancy aside, Microsoft trots out what they decree is the Next Big Thing about every 4-5 years. In the process, they act like what they used to call the New Hotness is a smelly pile they want to get away from, and drop support for it. Of course, it was a smelly pile in the first place, but it was their smelly pile and they wanted you to buy it and spent a lot of money convincing you it was good.
In the mean time, companies have spent a lot of money supporting and implementing the technologies, buying training, books, etc. Then you re-start the cycle all over again. This is just the next in a long-line of technologies that Microsoft has swept under the rug and moved on. Then a whole new gravy train starts.
Of course, they get the added benefit that you will have even less support and functionality on Mac OS. And, if that is the case, then why would someone by a Mac when they need Office?
I suspect this is 1/3 "technical", 1/3 "strategic", and 1/3 "because we can, bitches".
In the end, who is to stop them? The customers never leave en masse like people have been predicting for as long as I can remember. People adopt the technologies. And, everyone just sucks it up and gets on with their day.
Trotting new, unfinished technologies and dropping older, unfinished technologies and charging for it is Microsoft's bread and butter. It's one big hamster wheel.
Cheers
Lost at C:>. Found at C.
sol.exe runs just fine using Wine for Linux... what you mean people do something else with their Windows boxes?
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
No VBA support in the next version of Office for Windows? It's great in terms of eliminating a huge security risk. It's terrible in terms of backward compatibility.
Maybe Microsoft doesn't get this. Companies use SAP, Oracle Financials, SAS, etc. to store and crunch aggregate data. I have never worked in a company that doesn't literally run on hacked-together Access "applications" and Excel macros. Business users pull all that data out of SAP et al and work on it using tools they develop. In many cases, that's because the IT department is too swamped to help them build a proper app, or because it's too much bureaucratic red tape to build an application.
Admittedly, they are replacing it with VSTA. However, any tool that is less forgiving on business-level users' programming mistakes isn't going to be adopted quietly. There's also the cross-platform problem with Mac Office, and the fact that tons of Excel macros and other stuff will need to be rewritten.
If I were Microsoft, I'd build in a highly crippled "compatibility sandbox" that throws up tons of warnings, but runs _most_ non-dangerous VBA code. They did this with Microsoft Graph and other Excel add-ons to encourage people to move on while preserving backward compatibility.
The reversal of the SP3 file format disabling was an easy fix...this one won't be so easy to unwind.
Only less than fully informed because I didn't qualify it.
The rewrite projects I've seen regarding VB to [insert your own language of choice here] seem to be wrapped around a common theme... unsupportable code. While I'm sure there are plenty of enterprise level applications out there written in VB and well-written, the majority of what I've seen takes form level code and spaghetti to a whole new level.
My only guess as to why this happens with such frequency is the environment in the late 90s where there were more jobs than programmers, too many "Sam's Teach Yourself Visual Basic in 21 Hours" books, and a lack of architecural knowledge leading VB teams down the path of no return.
What many companies are left with are legacy apps that nobody wants to support, much less enhance. And with webServices, AJAX and all that is Web 2.0, and a bevy of other technologies that people want to utilize, enhancing kludgy enterprise VB apps with no architecture tends to be more expensive than a proper rewrite.
A funny note: I'm currently contracted to a company that lost all of it's Java/Jade developers when part of the company was sold. In an effort to get the software on supported technology, phase 1 of this project is to reverse engineer the (completely undocumented) application and recreate it in C#. No changes allowed, regardless of best practices. Phase 2 is to completely rewrite it. By reading this could you guess this company is in the oil and gas industry?
Saying Android is a family of phones is akin to saying Linux is a family of PCs.
Sad, that was always my favorite "thing that schools never secure". You can just about always get into VBA macros on Word, and use that to run a command line or regedit or etc.
All the UNIX skills I developed over the last 20 years are still useful. So glad I haven't bothered to spend any time on the MS treadmill. Heck, all the software I wrote over the last 20 years can still be compiled and runs happily on a modern machine that is hundreds of times faster than the SPARCstation 1 I used to run on.
Do you think the PHBs will ever learn that using proprietary systems like Windows may seem cheaper in the short term but in the long run you open your wallet and let them take take take?
"I have the attention span of a strobe lit goldfish, please get to the point quickly!"
Arguments about open source alternatives aside, doesn't EndNote use VBA for all of it's scripting? I'm sure it's fine for the Windows side for which they can add in VSTA/VSTO support, but won't this kill EndNote for the Mac? I seem to recall that EndNote uses VBA for all of its formatting and layout within Word.
I'm a grad student in biology and we are almost entirely a Mac group (it's seems to be rare to see a completely PC bio group these days I think). It would be quite a shame if this decision had rather strong ripples throughout a number of other companies whose business models are predicated on using VBA in Office.
I think you are criticizing an organic process for choosing the path of least resistance.
Futile and somewhat incompletely informed spring to mind.
VB is successful because most of the potential applications for computers are not terribly time or resource constrained, most applications are cost-of-development constrained. VB is chosen because it consistently provides the path of least resistance to the first deliverable result, and executives will always bet on the horse that makes it to the first turn - first.
I'm suggesting these executives are not silly - they realize that in the rare case that a software becomes truly important, they will invest in an upgrade - but they avoid the upgrade costs on all the other trial balloons that fill the long spans between truly-imperative-software.
In any cases, engineers who race to the first pole, do so because it keeps them employed, and that ain't so silly either.
Criticizing a platform for being popular is what is silly in my humble opinion.
AIK
MS is not trying to improve their product by removing/upgrading VBA.. They just want to kill Mac. By providing different scripting languages for the two platforms, they are going to eliminate Macs from being used for business. Since most of your customers don't have Macs, you can't use a Mac to write a document with macros in it. So, you have to buy Windows.
echo 'cat sig | sh' > sig
How in the hell are businesses supposed to keep up with this shit? Ok, back in the day everybody was using midrange computers. End users were either sitting at terminals or were later at PC's with terminal emulation. Programs were written once and then maintained for decades. Whenever the midrange or mainframe was updated, all of the old stuff worked but now you could create new stuff to take advantage of greater speed, memory, features, etc. This is a proper and correct understanding of the past, yes?
So how in the fucking christ are companies supposed to operate today? Operating systems are only sold for several years and then the new one comes out. The what, five year stretch for XP, that's an anomaly, MS wants to churn it faster. So you have new operating systems and thus new bugs for the client app, and legacy apps for shit like Office will be completely horked. The old standby of "Well, we just won't upgrade for a bit, give us time to write something new," that becomes harder because you can't buy the old softare anymore. Even if you say fuck it, I'm going to pirate it, eventually the new hardware won't have driver support for the old OS.
From what I see, my perspective only being on the periphery of the programmers, it looks like anyone tightly wedded to Microsoft products will be doing the upgrade shuffle every few years and have to rewrite lots and lots of code.
I agree with the other posters, this sounds like a huge win for open source but a completely incomprehensible move for Microsoft. Where the hell is the bonus here for them? Normally I can see the evil, malicious genius in their actions but since Vista I'm at a loss, it just seems like stupid evil now.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
Please stop using shoehorn as a transitive verb in that manner. The way you used it you implied it to mean "squeezing something into a space in which it will not fit". However it should be used as a transitive verb only as follows. I shoehorned my foot into my shoe. My foot fits in my shoe just fine thank you very much but I use a shoehorn because it is EASIER. Using the shoehorn is not wrong. Yet when you use the word they way you did you give it a negative conotation which is lame. Shoehorns are awesome and the word should only be used to convey awesomeness!
When I started college, we were required to take Pascal. As you may be aware, there is little Pascal being programmed today. But that doesn't make my experience in Pascal useless, nor the language useless. I generally program in C/C++, but a couple of times a year, I'm asked to program in some language I've never seen. Sometimes those languages have similarities to Pascal; sometimes they don't. Regardless, the more languages you have exposure to, the easier it will be to pick up the next one. There are some things I really liked about Pascal (inner functions), and many things I didn't.
Take the class, and enjoy it. Maybe think of it like learning a foreign language. If you learn Spanish, you tend to learn a bit more about English.
At least the egotistical VBS programmers stood upright in comparison to the documenters who thought the HTML "code" they wrote was a programming language. They're still mouth breathers dragging their knuckles on the ground, but still, they could stand.
I work at a company that does transcription and the only reason we have stuck with Word was that we have been able to continue utilizing the considerable VBA macro code base we have maintained since Word 97. With the various Word updates, there have been some hiccups, but for the most part, we've been able to keep the same code for Word 97 even through the abomination that is Word 2007. Before you guys start pulling out the flamethrower, in 97 you had Word and WordPerfect, and WordPerfect was busy figuring out how to kill whatever marketshare they still had.
If I have to rewrite everything to work with the next rev of Word, and we have to tell all our transcriptionists they have have to buy the latest (and probably not greatest version) of Word, what incentive would I have not to seriously consider a migration to Open Office?
This idea was probably thought up by the same genius that decided to shut off backward-file compatibility and save as formatted text filters.
Because, as we know, all thing FOSS interoperate perfectly, and the people developing them always do a fantasticly stable and secure and well designed job.
Well put. As an analytical scientist (microscopy and image analysis), I use VBA to automate data analysis and prepare reports and graphs because Excel is ubiquitous among my client community. I have a big investment in VBA. My employer has been reluctant to roll out new Microsoft versions because they offer little real benefit to our business.. Guess we'll continue to "just say no" to new versions. When that fails, there is Python.
They've shifted scripting paradigms before. Word used to have its own dialect of Basic, and Excel originally did all its scripting with those @ functions.
.NET, they neglected to replicate this functionality. They did provide a .NET version of VB, but it's just another OO language. So VB.NET programmers have to master the .NET object framework. Might as well learn C# and be done with it.
What's really painful is not the death of VBA as such. What's painful is Microsoft's decision to do away with the whole Visual Basic paradigm without providing anything to replace it.
What do I mean by by "Visual Basic paradigm"? I don't mean the (very sucky) language. I mean the integration of the language to all those COM interfaces that permeate Microsoftland, including Office. These COM interfaces are all part of object frameworks, but because they're interfaces rather than objects, you don't have to master the object framework in order to use them
When MS got bored with COM and decided to move on to
I'm a user of OneNote, which was the first MS Office application to be released without a builtin Visual Basic engine. You can automate OneNote, but the learning curve's much steeper than it would be with VBA. I've never found time to assault it.
Even though I've always despised the pre-.NET dialect of Visual Basic, I find I'm missing it terribly.
In the end, who is to stop them? The customers never leave en masse like people have been predicting for as long as I can remember. People adopt the technologies. And, everyone just sucks it up and gets on with their day.
Customers have no real loyalty. They buy Office because they've got a pile of office documents. Things like VBA and the UI for Office have changed in the past but for the most part they've been incremental changes that can be dealt with easily compared to changing products.
My first version of Word was Word 2. It's been a long time but I think there was a change when they moved to Word 6.0 and dropped the DOS version. Since then (the early 90s) changes to the Interface in Word have been comparatively small. You could open the same documents you wrote in Word 6 in Word 2003. Complex macros may have incompatibilities due to added security features etc. but many simple ones were fine. Importantly you could take a Word 6 user and stick them in front of Word 2003 and with a few hours of use they'd be just fine.
Now that they've changed the UI completely and are dropping the Macro and old file support, you're not talking small changes that happen every 5 years. Suddenly you have a product that looks alien to an old user, that won't open old document formats, that won't run their macros.
I couldn't think of a stupider thing to do if they tried. They spent all that time killing off the competition and through bone headed moves like this they've just given away all that advantage. I expect alternate suites to start cropping up again. Probably not a bad thing.
These posts express my own personal views, not those of my employer
VB was the first language which offered RAD - while at the same time offering the technical breadth and reach of 3rd-party add-ons and access to the Windows API.
.Net - The benefits of natural language, and minimal punctuation will continue to accelerate learning of VB over contrived syntaxes.
The language is absent the jargon-punctuation cruft of c {};
And instead closely follows a language with worldwide recognition.
In some respects c can be compared to latin, or perhaps better to esperanto, which is a contrived language which doesn't resonate with any significant population from birth.
VB, on the other hand, recognizes and embraces the symbolic similarities between branching in code, and branching in languages. It turns out that the advantage of shadowing a natural language are born out in adoption rates and learning curves.
I agree, that VB6 had some issues, limitations etc, but notwithstanding the pain of starting over in
- Again, I am impressed, and you should be as well, that 168-form VB apps could even be written by people who are obviously ill-equipped to produce similar software in any other language. This feat must, at some level, be taken as a complement of the degree to which VB has papered-over a great deal of the complexity of code-writing. I suggest it is a criticism that java, ruby, or perl, hasn't been nearly as effective in bringing systems-design to a broader audience.
AIK
Access is heavily VBA dependent, much more than the rest of the suite. In fact, using VSTO, you can write code for all the other Office applications in .NET, but not Access. VBA is sortof a cornerstone for Access. I also wonder what this means for Windows Script Host. A lot of companies have a lot of .vbs scripts and the like out there doing important stuff. I know I end up writing WSH scripts in VBA to do routine things all the time. I really need to get into the habit of using Perl, I guess...
"That which does not kill us makes us stranger." -Trevor Goodchild