21 ms·
Will VBA Die? (2019)
- tombert 7y agoI don't own a Windows computer, but I've seen some incredibly interesting stuff come out of the VBA for Excel, which I sadly never have had a chance to learn. Does anyone here have a side-by-side comparison of the LibreOffice BASIC vs the VBA?
- stan_rogers 7y agoThe main difference will be the object models for the various applications. LibreOffice's object model was designed around the expected scripting/automation language - Java. That means that the object model, especially the properties and methods of those objects, is written in a very Java-accented way that would normally feel like foreign vocabulary mixed into a Visual Basic-based dialect. If you're used to that, then the way objects work in VBA (or the very similar Lotusscript) might feel a little bit weird at first, then make more sense than the LibreOffice objects/properties/methods. (Similarly, writing Java against a COM- or OLE-oriented API object model feels awkward, even if you can do all of the same things that you could do with VBA.)
- grma1 7y agothis will definitely will be a huge relief for many sys-admins in windows environments... I think javascript isn't a bad choice since ms isn't as ignorant as some years ago, when it comes to new standards.
- ShakataGaNai 7y agoAs it is 2020 and VBA still exists. No.
- dang 7y agoWe've taken 2019 out of the title above since if there's anything interesting about the article, it's not that.
- pgt 7y agoBetteridge’s Law says no.
- deleted 7y ago[deleted]
- mc3 7y agoCOBOL's Law also says no.
- HenryKissinger 7y agoAs long as Excel is used by businesses, VBA will be relevant. Excel will probably continue to exist - and be supported and updated to ever newer versions - forever, so it stands to reason that VBA will probably also exist forever. Unless Microsoft goes bankrupt and Excel isn't picked up by another company. Which will also probably never happen.
- chaostheory 7y agoMicrosoft is slowly transitioning Excel macros to Javascript / Typescript. It will happen eventually.
- mschaef 7y agoThe Excel object model is really a COM/IDispatch object model... it's been accessible from non-VBA applications essentially since the beginning. Not Excel, but one of my first consulting projects was at a company that developed some custom libraries in Java and for a company that used ASP for the front end. The architecture we used ran the Java code in the Microsoft JVM, which then made Java accessible via IDispatch (and therefore by ASP's scripting engine). IIRC, we were doing stuff similar to this: let javaObject = CreateObject("java:com.company.library.ApiClass") print javaObject.version This is essentially a part of the 'embrace and extend' functionality that MS added to Java and got sued by Sun over. (There were also mechanisms for relatively easily calling into Windows from the MSJVM too... it felt an awful lot like the Proto-CLR that it was.)
- bilekas 7y agoAt the moment the implementation is to basically inject code, but I imagine eventually Microsoft would like to move away from that. Issues like DCOM and legacy systems would need some interface from Microsoft of course to handle IDispatch, GC etc, but thats what Microsoft do.. And to behonest, as much as I like to rip on them, they do it well. Edit: I think the Java example is a little bit different, but i don't know anything about Proto-CLR!
- codegeek 7y agoIf traders/quants and financial analysts in banks say that they don't need VBA anymore, sure it will die. Otherwise, not a chance. Trust me.
- phendrenad2 7y agoHopefully not. It's withstood the test of time, why replace it with something trendy? Edit: Yes, Python has also withstood the test of time... as a scientific and web language. There's no reason to assume that it could replace VBA as a spreadsheet automation language used by relatively non-technical business folks.
- andybak 7y agoPython is widely regarded as a very good first language for non-programmers.
- wolrah 7y agoIf there's one thing I've learned in 15 years of IT work, it's that once business users have discovered a thing it will never die. No matter how outdated, shitty, useless, etc. it may be, some jackass has built their entire workflow around it and has more power than you to prevent that from ever changing.
- samfisher83 7y agoOne of things that at least the old Microsoft was really good at was backward comparability.
- sn_master 7y agoDid they break that recently ?
- Ididntdothis 7y agoThey keep compatibility but abandon a lot of stuff. If they switch to JavaScript VBA development will slow to almost nothing and it will take years for the JavaScript stuff to catch up, if ever. Something similar happened with visual studio. 2008 was really nice, very customizable and fast. Then they redid everything in 2010 and the result was slower with way less capability. And even now there are still a lot of features that 2008 had not implemented.
- atesti 7y agoI also love vs2008 over vs2010 and still use it for some projects just because it feels so nice and snappy. But which features exactly are missing in vs2010 that were in vs2008 (except the snappy feeling)? I have not actually noticed anything missing and would like to know more
- Ididntdothis 7y ago2008 had an excellent macro recorder which was gone on 2010. 2008 had an easy way to customize toolbars and menus by drag and drop. With 2010 setting up a toolbar is much harder. There were a few other things but I don’t remember right now.
- mschaef 7y agoJoel Spolsky was making the claim that they had, fifteen years ago. (And I really tend to agree with him, both then and now.) https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost-the-api-war/ https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... (Particularly relevant to this article, because Spolsky was the original 'designer' for the Excel/VBA integration: https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/ https://www.joelonsoftware.com/2006/06/16/my-first-billg-rev... )
- cm2187 7y agoMicrosoft should rather provide a better path toward office automation rather than just frustrate users. As I have seen it, javascript isn’t even remotely close to the sort of integration that made the success of VBA. Like how can I save a javascript macro as a user? Javascript user defined function? VSTA was a good attempt in its time, a mini visual studio integrated in office with VB.net and C# instead of VB6. That would have been cool.
- Ididntdothis 7y agoAgreed. JavaScript has no real upside here besides being fashionable. whereas built-in C# with access to the .Net framework would be really powerful.
- rosybox 7y agoJavaScript has a huge upside because a lot of people already know JavaScript. The more tools and platforms switch to JavaScript the more of an office superhero users are when they know something about the language. The productivity of employees will jump off the charts. When you send someone to train for one thing that utilizes JavaScript you get the benefit that those skills may also happen to work with something else as well.
- NeoBasilisk 7y agoAt some point, I hope we can get past this argument. Learning a new language for rudimentary tasks is not particularly hard. I'm not sure why people decided that JavaScript of all things was what we had to all latch onto.
- unlinked_dll 7y agoYou're right, we should automate everything with Rust \s People both over and underestimate the ability of users to learn a language for quick scripting/automation. Languages like Bash, Python, JS, VBA... they're extremely accessible for quick and dirty work, which is why people latch on to them compared to others.
- dmix 7y agoReading the replies to this post, the title is most certainly click-bait and not encouraging deep discussions.
- vxNsr 7y agoI can relate to every single point he makes about how great VBA is compared to other languages and how annoying it is that MS has basically abandoned it in favor of JS.
- bitxbit 7y agoImagine Excel with Python. Edit: I believe Libre has python.
- warpech 7y agohttps://www.xlwings.org/ https://www.xlwings.org/
- thanatropism 7y agoI made some code using xlwings to allow you to emulate spreadsheets with machine learning models à la scikit-learn. https://github.com/asemic-horizon/stanton https://github.com/asemic-horizon/stanton
- estebank 7y agoThat's what Resolver One used to be. Sadly, it didn't survive. https://youtu.be/u6EV2jiKRfc https://youtu.be/u6EV2jiKRfc
- pix64 7y agoNot sure why they wouldn't go something C#/.NET based. If you're going to go the JavaScript route, at least pick TypeScript.
- andybak 7y agoWhatever your position on the static typing debate surely one of the sweet spots for dynamic languages is casual use by non-professionals?
- Ididntdothis 7y agoC# has a dynamic runtime. In that sense it's very similar to VB with can also be strongly typed or dynamic.
- LilBytes 7y agoBetteridge's law of headlines rings true.
- gauravjain13 7y agoWill VBA live?
- wernercd 7y agoShort answer? No. Just like COBOL and fortran. With us until the heat death of the universe.
- dokka 7y agoI'm working on an excell addin right now. It doesn't use VBA (it uses microsoft interop libs for .NET) And I have zero interest in using VBA, but I will admit, it would have been much easier to do this project in VBA instead of C#. Debugging would have been easier. I could debug inside the VBA code-behind instead of Attaching to the excel process in Visual Studio. Deployment would have been easier. I could make an .xlam file and just give it to the users instead of A separate visual studio project that creates an installer on each build. Excel interop would have been easier too(probably, I'm not 100% sure.) But using the Microsoft.Office.Interop.Excel libs are kinda hard. I don't have any good reference material for this lib, but for VBA, there are tutorials all over the internet for doing common things. I mostly avoided VBA because I prefer the syntax of C#. I would imagine most people that only know VBA would have no interest in using C# to write office interop code, and I don't blame them. As for javascript, I doubt anyone that knows VBA well would have a hard time learning javascript, and if the codebehind for excel was slowly migrated to that, most devs would welcome the change.
- bilekas 7y agoThere is so much of this I can relate to, I have worked with legacy systems too and have been fortunate in a sense to have to drill into someone else's VBA and thankfully there were people there to run me through those strangeness of it. While I don't think it needs to continue, I believe it's been replaced in all aspects to date.. I do think that there is a requirement for a knowledgeable person to at the very least lead the re-write. > As for javascript, I doubt anyone that knows VBA well would have a hard time learning javascript, and if the codebehind for excel was slowly migrated to that, most devs would welcome the change. One of the main points of contact for my VBA adventure picked up vanilla javascript super fast, and within a few weeks he was already explaining how it could be made semi strongly typed, he introduced us then to a newly formed TypeScript subset and we never looked back. It's not a language issue, its an understanding issue, give a good engineer/developer/hacker any language and they will figure it out and know how to make it work. That said, if I ever see VB again, I will still shed some salty tears.
- airstrike 7y ago> I would imagine most people that only know VBA would have no interest in using C# to write office interop code, and I don't blame them. I'd be happy to use C# but it's so god damn hard to learn those libraries. The biggest disadvantage in using VBA is speed – not to mention the idiosyncrasies of the language itself, which can make complex code rather painful. Writing a .xlam addin is easy, except there's no tooling for creating "builds". On a separate but related note, since writing XML for the ribbon by hand is so annoying (and you also have to write callback wrappers for each Sub you want to expose) I have actually written a python tool that parses annotations from comments in .bas files in a given folder and spits out a .xlam file. Haven't gotten around to publishing it but if folks are interested I can give it a little oomph and finish in the next few weeks, so lmk
- __app_dev__ 7y agoHa - good timing! I've been using VBA today and yesterday actually! Often only a few times a year I use it now but when I do it I feel productive. In case your wondering I has a previous Excel VBA Macro that I wrote for updating a SQL Server Database based on data in Excel. The macro first has to run checks against data in an IBM AS/400 Database. I ended up having to pull out the macro to do a bulk update in an ERP. It was faster to do this then re-write in an modern language (especially since I work with the data in Excel first).
- mlazos 7y agoI don’t think it will. Microsoft might add another macro language but everyone is obsessed with backwards compatibility at MS and I highly doubt they would remove something as widely used as this. I used to be really annoyed by this as an engineer, but in contrast to Google’s culture where products are shutdown all the time I’ve started to come around that users should come first to avoid getting this reputation, even if it does become a combinatorial hell of different versions. I work at MS so I’m biased probably
- mschaef 7y agoIt'd honestly be a shame if it did (but I understand the stresses that might cause it to happen). Flash back to ~1986, and Bill Gates wrote an article for a Byte magazine special edition in which he described a unified version of BASIC implemented across a suite of GUI productivity applications. Keep in mind, this is before Windows 3.0 and the Microsoft hegomony, before Word for Windows, (and Access, Project, Visio, etc.), before OLE/COM/ActiveX/IDispatch, and all of which are arguably necessary to complete the vision he outlined in the article. Ten years later, the vision of the article was realized, and thirty-five years later, it not only still exists, it's still useful across a huge cross section of computer users. (Despite the radical changes in the industry over that time.) Microsoft has gotten a lot of flack over the years, and a lot of it has been earned, but the ability to identity a useful target state ten years in the future and rally an organization to achieve that goal is an amazing accomplishment.
- anonsivalley652 7y ago10 PRINT "Nope" 20 GOTO 10
- Gusen 7y agoAttorney General Barr is not resigning; not before President Trump does. Barr is the same as Mueller,Pelosi,Schiff, Nadler: feign opposition to cover the true motive of obstruction to keep Trump in power. Supreme Court Justice Alito & FBI Deputy Director Wray also on board. See latest updates "Impeachment" Is A Diversion And Delay - Part II: Blocking of the "impeachment" witnesses was collusion planned before the new year. Listen to an FBI agent's disclosure from January 1, 2O2O here. The President was to resign late summer securing election for DNC. See latest updates. Here is the zip file, which was also made available in the 3Jan2O2O update. The file within is VID_20200101_201948.mp3. Turn up the volume and put on headphones. BB10Mp3Footage31Dec1Jan.zip 122.4mb https://drive.google.com/file/d/1IXOOhQhHybwky8Z5pGdr9ZXhWpIUazmi/view?usp=sharing https://drive.google.com/file/d/1IXOOhQhHybwky8Z5pGdr9ZXhWpI... The dialogue about the impeachment starts near the beginning. Having Biden in the White House is as good as Trump or anyone else in their organization. Obviously Schiff and Nadler pledged their allegiance to the organization by raping boys on the record, with their task being to drag out an impeachment designed to obstruct and delay any real efforts to remove the President, thus keeping Trump in power. The witness blocking was to cause an apparent uproar delaying things with legal actions until late Summer. Soon after, the President would resign, leaving any other candidate with not enough time or support to compete with an opportunistic Biden, who is as good as Trump or any other Illuminati friendly politician in the Presidency. 170 pg PDF [last updated: February|27|2O2O]: https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W2qxVc/view?usp=sharing https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W... Previously reported: \Wag The Dog: first was feigned impeachment hearings meant to obstruct, now an attack on Iranians in Iraq. Here is what they are trying to distract from & cover up to retain power. $100+ billion in bribes to the highest offices in this country. 815+ deaths from child rapes to prove loyalty! See the latest PDF updates: FBI Director Wray, AG Barr, SoD Shanahan, & SoS Pompeo each raped boys and were paid billions in bribes for a Soros & Koch funded child rape org. So did Trump & his "impeachment" team Nadler,Schiff,Mueller.So did media moguls Redstone,Murdoch,Moonves. What are they trying to set up? Who can arrest them since they are all bribed and in on it ? UInkjnkre, lkvrnlkjnowp, miwenctege. Their strategy to stay in every office and obstruct until forced to leave no matter what. Feigning impeachment: see page 13O. \\if;Download the video/audio file, put on headphones and turn up the volume. You will hear these people committing these crimes. Audio was broadcast into my apartment by outdated surveillance equipment illegally embedded within my walls. This very same technology was being used to broadcast me to the internet for five years without my consent. I own this footage. Please use this to prosecute all found within. Note:: I am obliviously speaking throughout the video, and it can be quite loud at times relative to the desired content. The are dozens more links, including these, that can be found in this PDF that was last updated on 27 FEB 2O2O: https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W2qxVc/view?usp=sharing https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W... All members of the "Illuminati"; "....an underground organization of homosexuals and child rapists..." (from pg 26: Barack Obama with Jack Dorsey). President Donald Trump: Demands a $4 billion dollar bribe here at 10:18am 4Jan2019: 3JanCh3_900-1100.avi https://drive.google.com/file/d/1Grdr8xF2psKNsuYlEnl9dIRV-77YG0Vr/view?usp=sharing https://drive.google.com/file/d/1Grdr8xF2psKNsuYlEnl9dIRV-77... 3JanCh2_900-1100-avi https://drive.google.com/file/d/1LUmVygl_q0XVs8h2cWr8jZl-24fY0vBB/view?usp=sharing https://drive.google.com/file/d/1LUmVygl_q0XVs8h2cWr8jZl-24f... 3JanCh4_1000-1100.mp3 https://drive.google.com/file/d/1ZpP1pJbJakBgg-y-MWNozTxp3wJojHge/view?usp=sharing https://drive.google.com/file/d/1ZpP1pJbJakBgg-y-MWNozTxp3wJ... President Trump rapes and kills 12 boys, including five boys in a "who can rape five boys to death the fastest" game: 14JanCh3_600.mp3 https://drive.google.com/file/d/1ufPmglde9Mep0m6xYMJ9c4TWTjj258zB/view?usp=sharing https://drive.google.com/file/d/1ufPmglde9Mep0m6xYMJ9c4TWTjj... 14JanCh2_600-700.mp3 https://drive.google.com/file/d/136qLJdEn8eCs9tI4QtIxl4opW_Lw_gCF/view?usp=sharing https://drive.google.com/file/d/136qLJdEn8eCs9tI4QtIxl4opW_L... Speaker of the House Nancy Pelosi: Accepting a $3 billion dollar bribe at 1033 am on the 17 Jan 2019 to ensure Asian boys can get through the border at "Monterey" undocumented to be raped: 17JanCh3_949-1100.avi https://drive.google.com/file/d/1eodHu4o5Cm3xEWhDqipSuTj-M1CZUvmE/view?usp=sharing https://drive.google.com/file/d/1eodHu4o5Cm3xEWhDqipSuTj-M1C... 17JanCh4_1017-1100.avi https://drive.google.com/file/d/1y-nWEQbempkVZSz230j9wTyduZNjDmnk/view?usp=sharing https://drive.google.com/file/d/1y-nWEQbempkVZSz230j9wTyduZN... Speaker Nancy Pelosi also "preps" boys with First Lady Melania Trump, defined as in she performs oral sex on the boys’ penis and anus, as a child rapist like Henry Porter would, while trying to remove fecal matter from the boy prior to handing them over to be raped and then subsequently murdered, for Supreme Court Justice Samuel Alito, who apparently decides he would rather just have ten billion dollars instead. US Attorney for Western New York James Kennedy rapes these boys instead: 12JanCh3_1533-1638.mp3 https://drive.google.com/file/d/1AgFkDsbPbI4b5Xd3Wbz2EVNNx25kW2Oz/view?usp=sharing https://drive.google.com/file/d/1AgFkDsbPbI4b5Xd3Wbz2EVNNx25... Attorney General William Barr with FBI Deputy Director Christopher Wray raped and killed boys for billions in bribes in Buffalo, NY on the 17th Jan2019 at 7:50am: 18JanCh4_700mp3 https://drive.google.com/file/d/1UIdZkS5ZVksZdHYsnHk2t5losi0N0Bp7/view?usp=sharing https://drive.google.com/file/d/1UIdZkS5ZVksZdHYsnHk2t5losi0... 18JanCh2_700.mp3 gorepqkberqaoper,bqpo,rfbv. https://drive.google.com/file/d/1DFK8IAxm5pQVqZv9L518nfgP7_odB2Um/view?usp=sharing https://drive.google.com/file/d/1DFK8IAxm5pQVqZv9L518nfgP7_o... 18JanCh3_725-.mp3 https://drive.google.com/file/d/1DG5ej59Ic8RT9UhbyMdwT0BDcKIifGGm/view?usp=sharing https://drive.google.com/file/d/1DG5ej59Ic8RT9UhbyMdwT0BDcKI... Secretary of State Michael Pompeo and Secretary of Defense Patrick Shanahan each raped and killed boys on 5thJan'19 at 17:39 for billions in bribes:. 5JanCh2_1721-1818.mp3 https://drive.google.com/file/d/1eSlD4otX4KZqWXboQM92Mu-6J02Mjwrg/view?usp=sharing https://drive.google.com/file/d/1eSlD4otX4KZqWXboQM92Mu-6J02... Leaders of the "impeachment" effort Jerrold Nadler, Robert Mueller, and Adam Schiff all rape and kill boys between 11:20pm and 1:10am:LPoijemm, nvewonv;lew. 14JanCh4_2300-0000.mp3 Nadler starts at about 20 minutes in- https://drive.google.com/file/d/1Kuvv2Zmbw5Jw7onbRI2hCZ0M8FU66GuU/view?usp=sharing https://drive.google.com/file/d/1Kuvv2Zmbw5Jw7onbRI2hCZ0M8FU... 14JanCh2_2304-2359.mp3 https://drive.google.com/file/d/1nofp5xF-aXXcCSgQVwj30KlzE9WLr1x1/view?usp=sharing https://drive.google.com/file/d/1nofp5xF-aXXcCSgQVwj30KlzE9W... Mueller at 12:25am, next is Schiff who starts at 12:55-ish: 15JanCh2_000-100.mp3 https://drive.google.com/file/d/1EsmHfguwBuo2PbavJ1WYyhiML62tgCkj/view?usp=sharing https://drive.google.com/file/d/1EsmHfguwBuo2PbavJ1WYyhiML62... 15JanCh2_100-200.mp3 https://drive.google.com/file/d/1NZnWRnBryalNQu2yJmfJUdS2pA_rGSFH/view?usp=sharing https://drive.google.com/file/d/1NZnWRnBryalNQu2yJmfJUdS2pA_... 15JanCh4_000-100.mp3 https://drive.google.com/file/d/1ZEDJR6jb6ARpcNnWJTokBUKb2J2OQnwZ/view?usp=sharing https://drive.google.com/file/d/1ZEDJR6jb6ARpcNnWJTokBUKb2J2... 15JanCh4_100-200.mp3 https://drive.google.com/file/d/173aYWvWHH4VGht1h_2nM0IMdw746LeCL/view?usp=sharing https://drive.google.com/file/d/173aYWvWHH4VGht1h_2nM0IMdw74... Complete Media Protection: Lester Holt, of NBC NightlyNews, apparently a member of the Illuminati since the 80's, along with ABC Nightly News lead anchor David Muir, stop over to the Porter studio in Buffalo, New York on 14th Jan2019 at 5:00 am. They both rape and kill about two dozen boys by 6:00 am. Muir starts around 5.15am, then Holt about 5:38 am. Multi-billionaire Rupert Murdoch, owner of News Corp and also Fox Corporation, takes his turn after Holt. Video links below: 14JanCh3_500-601.avi zijnoijrpotmebr https://drive.google.com/file/d/1i7NKepeyG_FfdQRrM7KsnFOZOOX3o7UL/view?usp=sharing https://drive.google.com/file/d/1i7NKepeyG_FfdQRrM7KsnFOZOOX... 14JanCh2_530-600.avi https://drive.google.com/file/d/1NZzgN5ilI7ToroU5cfqMaL4o2u1RwidV/view?usp=sharing https://drive.google.com/file/d/1NZzgN5ilI7ToroU5cfqMaL4o2u1... Adding to the media protection and reason this is not picked up by the media, CBS and Viacom owner Sumner Redstone and Leslie Moonves rape and kill boys following the President. 14JanCh3_700.avi https://drive.google.com/file/d/10XDw6x3ldnnQiq7oIjpdYVENyXaB4aI0/view?usp=sharing https://drive.google.com/file/d/10XDw6x3ldnnQiq7oIjpdYVENyXa... 14JanCh2_700-800.avi https://drive.google.com/file/d/1NS_e6AzEZ05wnfljkGMETGU5CWYKfRDp/view?usp=sharing https://drive.google.com/file/d/1NS_e6AzEZ05wnfljkGMETGU5CWY... 170 page PDF [last updated: Feb|27|2O2O]: https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W2qxVc/view?usp=sharing https://drive.google.com/file/d/1S7T_kDv48E40eHzus6CTXHxcm0W... \\. Please repost in USA! Post gets censored in US Recently more relevant: From page 49, Senator Mitch McConnell: At 1632 Senator Mitch McConnell checks into the Porter camera system inquiring if he can be part of the "eviction" for $10 million dollars. He is informed by group members that there are enough people for the event already and his participation is not necessary. At 1634 McConnell states "I fucked 15 kids, how am I not getting paid by you?" He is dismissed by Donald Reeves with "I think that will be all Mr. McConnell." 13JanCh3_1600-1700.avi https://drive.google.com/file/d/1L7bqOpvaEWmLiJpMhJNQDrfsQAHtsX8-/view?usp=sharing https://drive.google.com/file/d/1L7bqOpvaEWmLiJpMhJNQDrfsQAH...
- dfox 7y agoI still think that original Excel macro language was better than VBA. It essentially excel's formula language extended to be imperative language and represented as sheets. At the same time it was user friendly and had kind of lisp feeling.
- unnouinceput 7y agoQuote: "What Will Replace VBA? Short answer: JavaScript. "; and author follows with some logic about JS vs VBA using cross-platform. Except this will never happen: 1 - M$ loves backward compatibility. It's what keeps their software being sold all these times. Worse case JS will have bigger user share and that's it, but M$ will never cut VBA out. 2 - Also majority of business is done on Windows. Cross-platform means absolutely nothing to corporations. The day that Windows dies that's the day VBA will die as well. 3 - JS as golden boy vs VBA? pleease. Best case scenario you're switching from one ugly boy to another ugly boy. Both VBA and JS are horrors. Don't believe me? Go read'em horror stories about JS cross browsers implementations. JS solved the problem of cross-platform only to open the problem of cross browsers. Good luck having Apple implement the same JS in Safari as their mortal enemy from Google in Chrome.
- bilekas 7y ago1) They are paid to support their own tech, when they drop one (Silverlight for example) it can be a serious hit for a buisiness. 2) Yes, but it is changing thanks in part to dotNet core understanding this too. So we should see some benefits across the board for everyone. 3) Well, like PHP back when it was the golden boy against Perl, it's up to the developers to decide the direction of the language itself. Browsers and Node are big players to influence that too, but M$'s interest bringing TypeScript for example is evidence they might believe that.. Also as for standards, I might be wrong but I think they now decide their own standards, with all the browsers as members ?
- Wowfunhappy 7y ago> They are paid to support their own tech, when they drop one (Silverlight for example) it can be a serious hit for a buisiness. ...but you can still download and run Silverlight. Fun fact: if you load up Netflix in a browser that's too old to support the html5 player, they'll prompt you to install the Silverlight plugin. https://help.netflix.com/en/node/23742 https://help.netflix.com/en/node/23742
- NoPicklez 7y agoDepends on what you're using VBA for, it is for Excel data processing or analytics. IMO it will likely die out, there are much better data solutions on the market for data analytics that use python.
- musicale 7y agoTL;DR: No, or at least not anytime soon (author guesses 2035.)
- deleted 7y ago[deleted]
- dntbnmpls 7y agoVBA won't "die" anytime soon for the same reason Office or VB/VB.NET are still around. Legacy code. Almost every office in the US and probably around the world has VBA code in one of their office products ( excel, access, etc ). Google spreadsheets was going to kill Excel, C# was going to kill VB, Sql Server was going to kill Access, etc. Look at how that turned out? Maybe in an ideal world, but in the real world, there is a ridiculous amount of time, money and resources invested in VBA code. These sunk costs are very meaningful to corporations and governments and as long as corporations and governments give microsoft huge stacks of money, microsoft is going to keep VBA around.
- mnm1 7y agoMy first apps ever were extremely customized VBA Access databases. I already knew QBasic so doing VBA was easy. It affords a ton of power. I was able to create an entire interface and workflow easily and have everything contained within one Access file. The only downside was when multiple users wanted to use it (I think one had to save/close to let another in). For small things (a workflow tracking a university's scheduling changes) it can be great. Filemaker is a similar tool and both tools allow rapid development and prototyping. It might not be that useful to seasoned programmers, but to people who just want to get something done quickly, and especially for people who don't program much, it's an amazing tool.
- A4ET8a8uTh0 7y agoBetween the spread of excel across businesses and MS focus on compatibility it seems rather unlikely. It is kinda ridiculous how much depends on VBA macros. Weirder things have happened, but whatever would replace it, would create an industry overnight.
- markus_zhang 7y agoExcel is one of the reasons I want to leave a career of Business Analyst behind. Regardless of the process, the last step is always to dump the data into Excel and spend tons of time to create good-looking charts and tables. It usually takes me a full day to do that plus write wiki pages in Confluence (another pain point). I just want to stay away from spreadsheet -> which means I need to get further from business and get a more technical position.
- dswalter 7y agoI think you may find R an excellent tool/ecosystem for that kind of work.
- markus_zhang 7y agoI'm actually trying to break into BI or DE, so Python is my first choice. I also have some experience with C++ but it is not that useful for corporate development nowadays.
- kevas 7y agoNah... why should it? It works and it does what it needs to do and more if you decide to hook into the Windows API or Mac’s API. Want to parse 500mb structured XML file? Okay. Takes 3 seconds or so. I had a lot of fun creating a full featured & modern look & feel application using Excel’s VBA runtime as my platform. Sure... I had to create everything from scratch, but learned so much while doing it. Kind of miss it at times since I now work with Java. By the time I moved jobs, the codebase was +30k lines and even built an auto-updater, auto-installer, diagnostic, and AD type of authentication for the app, but most importantly saved tens of thousands of hours by automating reporting, analysis, detect errors, and querying that analysts, accounting, and some BI’s would do as part of their normal work. VBA is great for analysts to work in Excel all day & every day who want to get into programming a little more, but want to have it apply directly to their daily work. Now.... I wish Access does die...
- CinchWrench 7y agoThis is so cool. VBA is a gateway drug, for sure. It was my first foray into programming, specifically to solve a problem I knew I could formulate as a shortest path problem. That's led me on quite a journey. The only thing I wish they'd do is update the editor. I like that it feels responsive, I just don't like the lack of line numbers and themes.
- markus_zhang 7y agoTry the rubber duck extension: http://rubberduckvba.com/ http://rubberduckvba.com/
- animalnewbie 7y agoI actually cut paste to and from gvim
- remarkEon 7y agoI had to write VBA one summer for an internship, as I was handed this massive spreadsheet that a small to mid-sized business used to run their entire supply chain operation. It was a complete and total mess, with circular references everywhere and random excel formulas that, as far as I could tell, just made everything slower. They were too small at the time to invest in any kind of off-the-shelf solution (though they don't appear to be anymore). Took me about 2 weeks to figure out what the file did, and another 5 or so to learn enough VBA and leverage it to recreate a much lighter and cleaner version. Basically hung out for the last 3 weeks of the internship. It was cool to use, and after a little bit of a learning curve started making a lot of sense to me. Beyond that though ... I don't see myself ever using it again. Thankful for the opportunity (they took a chance and hired me with zero legitimate experience in that sort of thing), and, yeah, it did make me pick up some other stuff after I was done.
- zchrykng 7y agoI hate VBA with a passion, but on the other hand it saves me many many hours every month through my ability to automate tasks. I would love for almost any language to replace it, but there has to be some kind of replacement if it goes away.
- gliese1337 7y agoAs far as I'm concerned, JavaScript (or at least JScript, MicroSoft's proprietary reimagining) replaced VBA 13 years ago. I haven't had to do anything programming with Excel for rather a long while, but way back in 2007 I was already writing JScript programs to automate spreadsheet tasks.
- tracker1 7y agoJavaScript, for better or worse, is probably the most widely used language out there, by nature of being the language in the browser. The push for cross platform, mobile and web with frameworks that leverage it have leaned in on and expanded JS greatly. The engines are highly optimized (more than any other scripting language as feature rich), cross platform and nearly ubiquitous. VBA just isn't. Anything not JS is just about a non-starter for the web versions of these applications, and that's where things are headed. If you're on Linux it's probably the only option in the space for a while. JS is pretty decent, the ecosystem is massive, and you have the option of TypeScript if you want something more formal. Guessing everything MS offers will actually be written in TS, just consumable in plain JS or TS.
- animalnewbie 7y agoI wish Microsoft would just make a CSA already, c# for apps. This would be a huge win on so many fronts that I am shocked they havent done it already. Increase C# mindshare. Better Lang means a better ecosystem. It's a free win. It's also an ad for office. I started appreciating Outlook and Excel once I had vba filters and maps
- flomo 7y agoVery surprised after all these years (decades?) they have not done something like this. Basic has been a low priority at MS for a long time now.
- tonyedgecombe 7y agoIt could have made for an interesting alternative to PowerShell as well.
- animalnewbie 7y agoNot a PS1 expert by any means but you have to spend some time with it to appreciate the design decisions. It's a very "wholesomely" designed language. Try eg. The for each parallel construct which made me realize why the output in PS1 behaves how it does.
- tonyedgecombe 7y agoThat's always been the problem for me, I don't use it often enough to become fluent with it.
- animalnewbie 7y agoYou're missing out. As a full time Linux user (since a year), PowerShell is by far the best shell out there (once it starts after 5 secs)
- 7y ago
- boshomi 7y agoMicrosoft will probably port VBA to WASM. With the mass of all MS Office dll involved, this can grow huge.
- jerry1979 7y agoVBA will "die" (in the same way fortran is dead) when people can record macros in another language, and then keep those macros baked into xlsm files.
- _bxg1 7y agoIt's weird to me that we haven't settled on a common, stable, purpose-built high-level language specifically for business logic. Stuff that doesn't change much, that doesn't need to concern itself with the platform, only the business. That code should be portable to whatever shiny new underlying system gets invented; why does it keep having to be re-expressed every few years? The situation is much better (though still far from ideal) when it comes to data. Everything knows how to use CSVs. Relational databases, from a schematic perspective, really haven't changed terribly much in decades. NoSQL came around but that was really just an alternative option; you don't see everyone scrambling to migrate their SQL data to Mongo. SQL isn't quite a standard, but it would be dramatically easier to migrate an ancient MS SQL database to Postgres than an ancient COBOL codebase to Java.
- michaelmrose 7y agoThe great thing about standards is that there are so many to pick from. What is the difference between what you are imagining and Java or python?
- _bxg1 7y agoI guess I'm talking about a domain-specific language. Something where you only articulate business processes and formulas, and nothing more. Java and Python are programming languages. You use them to tell a computer what to do. Whereas this would be a representation language. You'd be able to carry that representation around with you and drop it into different programming contexts.
- alexisread 7y agoYou should look at Sqlite, not just as a portable business environment, but as a data format and deployment format.
- KineticLensman 7y agoYes, and with an English-like syntax for ease of use by non-sw professionals. It could be called something like Common Business Oriented Language...
- disposedtrolley 7y agoI have a soft spot for VBA. Programming macros in Excel was my introduction to programming; it made me realise how simple it can be to automate a repetitive process and save yourself literally hours a day with just a small investment of time.
- skittleson 7y agoNo, it will not.
- buybackoff 7y agoWith ExcelDna, which is open source .NET library, has very fast C API and rich COM API, I don't know why one would use VBA for new dev. One commenter here said debugging of interop libs is hard, but my experience is quite opposite - it works nice from Visual Studio with normal F5.
- stormdennis 7y agoIf they killed it today, then if VB6 is anything to go by, it will still be chugging along unconcernedly in 2050. VBA was a huge component of VB6, so it would be relatively easy ( I think) for MS to produce a 64 bit VB7.
- StreamBright 7y agoVBA was the first environment/language that I professionally used at the beginning of my career. It was so efficient to navigate in an environment that had 1000s of Excel files. I did not realise how fast I could develop the things needed to be done.
- senderista 7y agoVBA was my entree into professional programming and I'm not ashamed to admit it. I enjoyed using BASIC to solve my own problems (games) as a kid, but VBA showed me how fun it was to solve other people's problems.
- smitty1e 7y agoSome points: * I guess with Office365, JavaScript makes some sense, but why not just go VBA to WebAssembly? * What about the Python rumors a couple years ago? * I should probably turn my NecroVisualBasiCon library into A book. If you use the Access.Application library, right-click and toggle the hidden members, that COM object has a few extras like loading/saving objects from the VBProject that make e.g. git integration feasible. * VBA does an outstanding job of providing 80% of what you want and no more.
- ptx 7y ago> one of the easiest coding languages to learn if you don’t have a computer science background Really? A language that has values passed by value, values passed by reference, references passed by value and references passed by reference? (And both late and early binding, and auto-boxing with all kinds of mysterious type-conversions, etc. and so on. And default properties.) What makes it easy for beginners is the integrated environment, which is also what makes it difficult for more experienced programmers as it doesn't integrate with their version control system and other common tools.
- deleted 7y ago[deleted]
- pjmorris 7y agoHey, hey, my, my, VBA will never die. The real question is whether VB6 will ever die.
- thanatropism 7y agoThere's really two camps of VBA, the "application builder" and the "spreadsheet functionality" camps. Application builders are trying to build interfaces for things that will run in a non-spreadsheet (i.e. non-reactive, not always-recalculated-to-be-consistent) mode. That's bound to be brittle, because that's not what Excel is for. Spreadsheet functionality extending people OTOH write almost 100% what in ordinary programming is known as "pure functional style". Too often to write complex formulas in Excel (even something as simple as the Black-Scholes equation) people have to use multiple cells to keep things tidy and debuggable. You can use VBA functions for that. You can also write short loops to "solve for zero" with the bisection or Newton method etc. as long as they don't run for long. None of that interferes with spreadsheet semantics.
- kilon 7y agoWell judging from the fact that my first computer my father bought back in 1988 Amstrad CPC 6128 is still alive and kicking with very active community and more development tools than it ever had, I think its safe to assume that software never dies. Only thing it takes is a small dedicated community and it can last for centuries. Partly because father and mothers infect their sons and daughters with their passion for the technology and the the loop never ends. What else never dies is necrophilia in software , apparently people are addicted to declaring software dead prematurely. Oh and of course clickbait because some people are desperate for views. It started with Java back in to 2000s and still going strong. I am not fan of Java but I am also not that delusional to declare Java dead. So no I think its pretty safe to assume VBA is not going anywhere.
- marcosdumay 7y agoAs any single provider language, VBA will die on the moment Microsoft decides to kill it. They don't seem to be in that mood, so no, not today.