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.
I hated the years when Visual Basic was thought to be a technical marvel. What were they thinking? And why do companies like to jump on every new thing without evaluating the good from the bad? Maybe some companies just think that everything that MS sends out is an upgrade.
God spoke to me.
... is going to feel that one.
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
More incitive against our beloved office, thanks to kamikaze microsoft strategists. Not a very wise move with all the support dropping of late, and of course the current open format discussions. Not that I'm complaining.
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.
What is the difference? What do you get by replacing VBA with VSTO or VSTA?
what they are experts in, interoperability!
:wq!
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.
Sounds to me like the old excuse not to upgrade to OpenOffice because it won't support all of your VBA script anymore has gone out the window...
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.
On the one hand, there's a potential short-term, albeit unpleasant, cash cow there for someone who wants to take all that VBA garbage and make it work in the "latest and greatest" Microsoft offering.
On the other hand... their "latest and greatest" probably isn't all that much better, and probably will carry a hefty price tag.
Proudly supporting the Libertarian Party.
Once upon a time I wrote a bunch of stuff in VB 2 (iirc). Then they dropped support for that and I had to upgrade. It didn't go well. I pretty much had to rewrite everything or have code that I couldn't distribute.
Now, most of what I write is in Java, Javascript, Python, anything but VB. Microsoft sure knows how to win friends and influence people.
No thanks. Javascript does make a sensible choice for cross platform scripting.
The first python or ruby (etc) zealot to chime in is going to end up choking on a huge perl. I'm not pushing Perl, don't push your pet language.
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
Office 2003 is supported now. So's 2008. So there's your transition period. Oh, you mean in the same product? Do it like you would any other enterprise application: do a parallel deployement. Once thats done, phase it out.
All serious MS devs knew about this event years ago, no news there.
About time I reckon. VB was genuinely useful for a while, but the industry grew up past it and now it's just an insecure relic.
Corps need to get their bespoke VBA apps onto the web and be done with it.
This announcement was misinterpreted by almost everyone. This was supposed to be titled: Roadmap for OOXML. Those crazy marketing-droids got it mixed up again... hmmmmm
Support NYCountryLawyer RIAA vs People
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.
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.
In Micrsoft's defense, few people exchange office documents containing macros, because of (a) the danger of viruses, (b) the danger of e-mail antivirus software messing with your document to prevent said viruses, and (c) the stack of security warnings which will show up when the recipient actually opens the file.
If nobody is exchanging documents with macros, cross-compatibility isn't an issue.
Oh, also I doubt many people are using macros in non-trivial applications, because let's face it, macros aren't very good.
I go to a community college -- and I wanted to take a C programming class for my Summer semester.
:x
I was considering myself royally screwed that I'd have to undertake a Visual Basic class (which acts as a prerequisite for the C class), but really I'm more screwed than I previously though. Not only will I be taking a course of an ineffective, language I'll be taking a course of an ineffective, soon-to-be-useless language.
Hrm, suggestions on what I should do?
I'm convinced that although the durability of product features is almost entirely governed by the time horizons of employees within companies.
The only way you get consistent backward compatibility and a consistent style is when the product is being developed and managed by a consistent set of people.
So much of the important stuff is in peoples' minds and hearts.
You can embed the important stuff on paper, of course, with standards and style guides. But people only follow them... to the spirit, not to the letter... if the people working on them have bought in and care about them. And, of course, if managers who decide what standards and style guides to use keep them in place.
"How to Do Nothing," kids activities, back in print!
Hate to burst your little Java bubble, but .NET not only has a scripting extension, it's had it for longer than Java. (Far longer.) And it supports far more languages, too, since it doesn't have to shoehorn the languages into Java's OO model.
.NET supports Haskell, Forth, Perl, Python, Ruby, Tcl, Lua, JavaScript, and VB right now.
.NET supports the actual scripting languages directly.
I'm going to miss some, but
Java supports JavaScript and various Java-fied versions of scripting languages.
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!"
Since they can be the glue that hold together cooperating subsystems, rather than closed (and now retiring) VBA.
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
I can understand, a little, why MS might want do this. It could be argued that it will be less of a headache to support the scripting functionality best suited to each platform. But that really wears a little thin when if they would finally support Mac development in Visual Studio they might finally have the one ring to bind and rule them all, so to speak. Visual Studio is a pretty good development platform, for Windows, why not extend it to Mac? And then from there, would it be so hard to allow developers the language of their choice to script MS Office apps whether that be C#, Python, or something else?
Yeah, I know MS generally doesn't support any platform other than Windows as far as dev tools go, but one can dream...
To the making of books there is no end, so let's get started
Mac Office 2008 has dropped VBA in favor of enhanced support for AppleScript...
So MS is ditching its homemade scripting language in favor of Apple's? MS, within the Mac platform at least, is moving towards openness? Is this a trick? Is this a new embrace and extend? This just sounds...bizarre.
By the way, has anyone got MacOffice 2008 yet? Is it very different from the previous version?
I wrote a *trading* application in Excel, written almost entirely in VBA (with a C++ ActiveX control providing the real-time feed). It ended up being almost 50k lines of code. All the user had to do was open up his workbook, which had a worksheet for each stock, and voila! real-time updates and the ability to auto-sell based on thresholds and calculations done within the sheet itself.
I can attest that others have done similar, non-trivial projects in the financial industry; that's where VBA is used heavily because it's easier to calculate Black-Scholes using VBA than with in-line formulas.
Microsoft is high on pills if they think this will go over well in the financial sector.
Python is my way. I has a lot of applications on VB6 ruined after .NET. Now the Excell is my only red thin line to Windows :) Next thing? Gnumeric or KOffice? Who cares, both have Python scripting. The OO scripting is awful shit, overloaded from Sun with 3 miles long names and a bunch of unused variables ...
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.
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
First out of the gate was the VHS-BETA MAX War
next came VHS-DVD battle
Then came HD-DVD vs Blu-Ray
Now this!! COME ON AND FRICKING DECIDE YOU BUNCHA MORONS!!
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!
Openness??? Hahahaha, you must mean cross-platform incompatibility.
Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
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.
What good does it do msft if you stay with office-2003, or earlier? If you did that, then you might just as well stay with XP - or earlier. And if you stayed with old XP and Office, then you might also stay old ms-exchange, and old windows-server, and so on.
The way things are supposed to work is: one person in the office uses the new msft application language. But for anybody else to use those macros, they have to upgrade ms-office, which mean they will have to upgrade their OS, which means an upgrade for exchange, and an upgrade for the server, and an upgrade for all the hardware, and so on.
It doesn't happen all at once. If it did people might reject the idea. It is an on-going process. And that process works like all hell. It has worked for a long time.
Is Office still built on COM? *That* would be a good reason to kill VBA (since VBA is just a thin wrapper around a subset of COM). Office Automation from .Net is not remotely as friendly as it was from VB6 or VBA because Office is still built in COM and it has a different memory model than .Net. Last I checked, you have to clear every object, force a garbage collection, and repeat a couple of times to *probably* clear the memory the Office objects were using.
VBA is a highly used language (as you know) so that this isn't a small thing. In business school MS products are praised and exalted. Programmers curse it...forgetting that the point is CEOs, not technicians; this keeps MS ahead. I constantly hear people complain how one is able to do one thing 10 different ways...but in business they LOVE this; LOVE LOVE LOVE this.
This move isn't so stupid, however, because too many companies are dependent on this language and MS products. What it's really doing, though, is shooting Apple in the foot: MS was going to drop Apple support for office but Apple begged and worked-out an extension. This will remove the possibility for many businesses who stick with office to utilize Mac as a platform; especially since other businesses are unlikely to support a house with applescript on Office.
If MS drops VBA it's because they feel they have something better to offer...possibly something worth more to programmers while they're at it; don't forget that whole businesses do nothing but write macros and VBA-based software; I know several guys who do this.
In the meantime OpenOffice ought to start reverse-engineering VBA, I think; if it's going to die then we won't have to worry about it changing...and a LOT of firms would probably, very likely, appreciate not losing years of work, (or being able to offer it on practically any platform AND advertise that they're giving-away a compatible office suite!), though maybe MS's new tools will have migration features/assistance to translate. Anyone know?
Intelligent idiots are we. | Evil men do not understand justice.
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.
I agree with the other poster. Things have changed.
;-)
1. I just got an e-mail from a student who couldn't use our Blackboard discussion group. Switching from IE to Firefox solved the problem.
2. My son the other day was creating a birthday invitation (part had to be rotated 180). In all truth, he found it easier to use OO than Word (we were both scratching our heads about Word's help on this issue). We started with Word and switched to OO to complete the task.
3. My school is rolling out MS Exchange, but it's been slow and my department has effectively (and happily) standardized on Google calendar for the time being. This is user driven.
4. I have written VBA spreadsheets to accompany a text and have grateful Mac users because they're usually ignored. A few weeks ago I ported everything to OpenOffice in anticipation of Office 2008. Painful (because documentation is poor) but not too bad and it all works great.
5. My facebook-using daughter is happy with our XO laptop.
There are too many alternatives now for Microsoft to get away with being obnoxious. My own view is that MS is going to be hit by a tidal wave in the home and small office market, and that this will portend much more gradual but significant slippage in the corporate market. (Full disclosure: my predictions are usually lousy
Start switching to Python today to get ready. Python works great in a Win32 environment already with support for COM objects, WSH, ODBC etc. I've been using the Activestate Python for years to do Windows applications and scripting because it comes with all the Win32 support bundled.
.NET so it can interface to any .NET libraries that you need. With some care, you can even build applications that will run on either .NET or off of it.
.NET implementation called Mono which runs Ironpython right out of the box.
And then there is Ironpython which runs on
And Python is fully supported on Mac OS/X and Linux as well. In fact, Linux and OS/X have a
This is a good move for Microsoft because it cuts the need to support people who are not professional software developers. We should all help Microsoft by urging everyone to move to Python to fill this niche and to reduce their dependence on quirky undersupported commercial software.
Microsoft has concurrently supported VSTO and VBA since Office 2003.
VSTA, however is a different beast, indeed, it's an entirely different way of doing things, completely unrelated to the extensions you get from VBA. The upgrade path is via VSTO, and yes, Microsoft has been providing that path for years.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
And as past experience with Visual Studio .NET has shown, upgrade tools are far less than perfect.
.Net.
Upgrade tools are bloody useless if you're talking an application of any reasonable size or sophistication. One of the apps I'm responsible for is composed of about a quarter million lines of Visual Studio 6 code, tightly integrated with Win32 (can you say, "unmanaged code"? I knew you could.) Management asked the software engineering staff how long it would take to (ahem) "port" it to
It was really hard not to laugh out loud. So we did. Laugh, that is.
The higher the technology, the sharper that two-edged sword.
I will always have a high paying job now as I will be less than the licenses and training needed for whatever unusable microsoft replacement there is. To bad all the projects will be 20 lines of perl code, but at least I will be rich. Muhahahaha.
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.
WH@T W1LL 3Y3 R1T3 M@CR0V1RUS3S W1TH N0W?!??11/?
Signed,
Script Kiddies
Blogging Weight Loss, Distance Education, and more at verlin.com
Microsoft's new motto is, "Finding new ways to alienate paying customers, one day at a time".
I somehow thought it was something like
"Finding new ways to force customers to pay, again, and again, and again"
"It is a greater offense to steal men's labor, than their clothes"
Both VBA and VSTO have been supported in Office 2003 and Office 2007 for years now. Not sure why
So, for those of you who aren't used to Microsoft or, who are too blind to see. Microsoft doesn't invent new technologies, they rename thier current ones. VBA isn't going away, its getting renamed. You know this whole .NET thing? You know how .NET assemblies are 'new and different' Let me give you a hint, under the hood, they are basically OLE version 3, 'ActiveX' was OLE version 2.
... how fitting.
Yes they are new, Yes they aren't 100% backwards compatible, Yes you can still use them with the same old code as before with a bit of tweaking.
VSTO is the same crap, different name. Stop letting the marketing people freak you out so much.
Funny, my captha is arrogant
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Well, if Macintosh users would support OpenOffice, they could become independent of Microsoft's corporate strategy.
But, of course, Mac users generally behave even more like cattle than Microsoft users and want to hand their money to someone else to think for them, and that's what Microsoft is doing. And when it comes to applications, they're more concerned with whether the buttons are shiny enough than whether the application gets the job done.
Microsoft's new motto is, "Finding new ways to alienate paying customers, one day at a time".
I somehow thought it was something like
"Finding new ways to force customers to pay, again, and again, and again"
But the second motto, your's, leads to the first. Not many but I've heard a small number of people who said they weren't going to upgrade their MS Office suite because MS keeps making new versions incompatible with old versions.
FalconShould there be a Law?
If by suing their own customers you mean suing those who don't pay for stuff. Then yes, that's what the music industry has been doing.
They, RIAA, even sues those who don't illegally download or make music available for download.
FalconShould there be a Law?
Aw shi--- We start learning VBA in intro to engineering in a few weeks! (after three weeks of Engineering Economics)
just as a bit of errata, technically using VSTA is not scripting. it's just using a .NET language to access the public members of the application's code. i just think "Scripting" is sort of down-playing the capabilities of the technology.
OpenOffice doesn't support Mac Users, so it's unlikely they'll support OpenOffice. NeoOffice is doing a pretty good job, though, and I recommend it to people who still want that "Office" feel. As for Microsoft office, most of the researchers I support use Microsoft Word for one reason: EndNote.
Those on Slashdot who would never admit to using Windows, wouldn't run MS Office even on a Mac, and would never stoop so low as to use Visual Basic for Applications (or any other MS language) are upset that VBA is going away.
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
Look for local variables set to objects that are not explicitly set back to null (after closing if appropriate).
VBA, like all languages that depend on garbage collection, does an imperfect job. In VBA's case it's a thrash your disk VM hell awful job.
Just letting recordsets etc drop out of scope will not release the memory. (In some cases at least, enough to screw things up.)
Even with all locals set explicitly to null VBA still leaks memory and will eventually need restarting. Everything bad said about VBA is true.
That said some people come up with insightful solutions using VBA. In some cases it's worth extending the solutions useful life, if only to develop a better one in the time you buy.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
With all due respect to The Register, this is just hearsay. The article doesn't mention any sources for the statement that VBA won't be in the next Office for Windows.
The MS announcement does state that they won't license VBA to third parties anymore, and that they are moving their resources to VSTA/VSTO. While this is surely an indication that MS wants to stop supporting VBA completely, it doesn't mean that it will be gone in the next Office release for Windows. If they do mean to do that, they'd better be very upfront about it. Too many companies (including multi-billion dollar multinationals; I'm currently working for one) use VBA all over the place.
Actually, I'm pretty sure bears will always maul you to death for that.
He who lights his taper at mine, receives light without darkening me.
It's typical of M$ to do this. They started out with Windows 98. Everyone learned to use it well... then they made NT so everyone had to upgrade or die. XP came along and it just got worse... They always make some new technology every couple of years so people have to either buy new junk from them, or become obsolete.
Same thing happened with lots of their other junk too... Visual Basic and Visual C++ were replaced with dot net. Com was replaced with dot net. Direct X is constantly upgraded to death so much that old games that used to play on Windows 98 don't really work all to well all the time on XP, even in compatibility mode.
I really want to start learning Linux more and forget giving money to the Gates Foundation of Millionares.
Having never "upgraded" to .Net, I'm still quite happy with Visual Studio Enterprise v6, though it's rarely used these days. Did manage to purchase Office 2003 for a good price a few years ago, and am satisfied with that as well. (It was an upgrade to a copy of Office 2000 Premium I'd won at an MS event some time ago, along with a pretty useless Compaq PDA, circa '99, that ran the old version of WinPE. It's in a box somewhere...)
Were I to be on the latest & greatest version of Office when they do finally slice VBA out of it, would miss the language only as it relates to Excel; those two in combination are a very, very handy set of tools.
But these days it's all about the web, anyway. My 'doze box runs Apache, MySQL & PHP, and there's a testing folder, so between virtual domains & the hosts file I can pretty much accomplish anything I used to with Excel / VBA. Sure, I don't get the same instant gratification, and true, debugging is a little more tricky, but on the plus side it's helped me to better learn the PHP language.
(I finally forced myself off my favorite text editor, and do use Eclipse for PHP coding these days, but mainly for the project views, and code folding. Haven't really gotten into debugging with it. I actually like having to have a good grasp of the code in my head, as opposed to relying on breakpoints & instant watches...)
I still maintain, having started - at least as far as MS platforms go - with their DOS based Professional Development System v7 back in the late 80's, the IDE they rolled out with Visual Basic was one of the best things MS has ever produced, and it was a great move on their part to port part of it to Office.
But, they made it so easy to debug you could get lazy.
These days, there are a couple of Excel / VBA apps I still routinely use, only because I haven't converted them to a web-based approach; but I hardly ever compile VB code through the Studio anymore. Still, I don't regret for one minute having upgraded to newer versions over the years - so long as the upgrades were actually useful.
IMHO, the real reason MS is dropping VBA is not because the platform is past its prime, rather that they can't figure out how to secure their operating system. (Just look at their latest attempt. If Vista were a car it would be recalled before you could say "Shoddy Software").
It's always been a two-edged sword. Yes, you could totally automate your system. Yes, you could totally obliterate someone else's system.
Not being the destructive sort, I found the power VBA offered to greatly assist me in performing the heavy lifting you sometimes need when weeding though large amounts of data. Others have different motivations, and have used the tool accordingly.
In any event, so long as I'm happy to stick with the older COM versions of MS apps, don't think Redmond's idiotic dismissal of a great platform will really affect my daily life. So long as Office 2003 continues to run on my 'doze box (and why shouldn't it, by the time I dump XP it'll probably be in favor of Linux anyway), VBA isn't going anywhere. I don't use it as much these days, but it's still handy to have around.
Sometimes, upgrades are really downgrades.
So now with the looming of VBA not being supported, what's a VBA scripter to do? Move on to VSTO? C#.net? Visual Studio 2008? Honestly, VBA was one of my main skills and I helped a lot of organizations with it. Now I have a load of apps I've developed that may no longer be supported. Granted, I could still write it, but with the move, how viable is that action? If anything, this has become a wake up call to put skills in check and try to aggressively find training. Anybody else in the same boat?
As Bill Gates is leaving Microsoft, it's a good time to never look back. What kind of non-Microsoft software can be built to be backwards compatible?
Anyways, I always found VBA brutally slow in Office so it will be a blessing to have a new language.
Know your pads. One time pad: good for cryptography. Two timing pad: where to take your mistress.
Tony Toews, Microsoft Access MVP http://www.granite.ab.ca/access
....because VBA for Office on Windows is here to stay: http://blogs.msdn.com/excel/archive/2008/01/16/clarification-on-vba-support.aspx.
But that's not an interesting story is it since we can't bash MS anymore. Anyway, why let the truth get in the way of a good story!!
Heroforge is a famous Excel spreadsheet series for creating character sheets for D20 a macro filled creation that had grown to about 6 megabytes before data is put in. Right now it's cross platform but the end of VBA might spell the end of this gaming classic.