Man I hate VBA as much as the next guy, but when the IT department has your network so locked down you cant install anything. Having that hidden tab in Excel to write a script to automate some mundane task was really useful. I like python, but there's no fuckin way my ex employer would just allow me to run random python code like they did for VBA. It was a gov job btw.
Python is soon to be integrated into excel, I might not be a python fan but if it's gonna replace vba I'm all for it.
It'll only run on cloud. Their employer would probably block that too.
Afaik the python is ran on Microsoft servers, so not exactly a perfect solution. I doubt it will run offline at all
Wouldn't it face the exact same security issues as VBA, with drive-by installs of obfuscated malware and executions of arbitrary code?
Can you not say that too loudly please
You don't understand. "Security" is always the goto reason for either changing or leaving stuff as is, if companies don't want to state the real reason.
People are used to ccept "Security" as a reason for almost anything.
I remember once where a MS guy (someone higher up, don't remeber who, is many years ago...) was asked why the Windows filesystems are case-insensitive and stated the reason was security, so that one file cannot be named the same with just different upper/lowercasing letters. Classic deflection.
The article is not about VBA, it's about VBS. The languages are similar but not the same (why exactly MS did it this way I'll never know).
VBA is for embedded macros in MS Office documents.
VBS is a standalone language you write into .vbs files that get executed by wscript.exe. It's a default windows feature that has been around a long time (IIRC the ILOVEYOU worm used it).
Not to mention Python’s in cloud
It’s about time.
It is their own Adobe Flash and it’s good that it is faded out. Too obscure in modern times, too many security flaws. Only warm nostalgic memories will remain in 10 years.
It is their own Adobe Flash
No, that was Silverlight. VBS is MS's JS.
While true it was their actual flash, based on install basis and history, silverlight was a blimp on MS history. While flash died slowly off after 2008 as html5 gained ground and plugins fell out of favor (anyone remember java applets?), MS decided to launch their own Plugin into a world that already turned away from this technologies. Classic MS.
The comparison that VBS is like MS JS is a bit wonky, as JS is breathing and alive, while VBS is not. You also never encounter VBS on a website.
JavaScript from 1999 was Microsoft's JavaScript. You could also run that through WSH.
That was JScript. Totally not JavaScript with a moustache.
They tried it twice?
I hope they kill off VBA too. I still see some teams in banks implementing Monte Carlo simulators or PDE solvers in straight VBA 🤢
I have seen critical enterprise applications run in VBA in excel. Removing VBA would cause global economic ruin. I'm pretty sure that's the unspoken backstory for the Fallout series.
Can confirm. Worked at several billion dollar corps that would collapse without vba.
Can confirm as well. It's wild
Another Sys Admin confirming that yes, the finance department runs nearly entirely on VBA. They would be lost without it.
I want to see that happen.
Another confirmation here. At my previous job, I was they guy who built Access databases and wrote VBA code. While not ideal, it was a very small business (less than 10 employees) and it was fit for purpose.
When I got a new job at a company with almost 3,000 employees, I was like, "Finally, I'll be working somewhere that has proper IT resources." Ha! I soon find out that my department runs critical business infrastructure with Excel macros. And we have a proper IT department.
As everyone has already said, if IT resources are in short supply (or the wait is too long, or building projects with IT support is a PITA), then people will build systems with the tools they have at hand. And that's often MS Office.
IT isn't developers. What is really needed is a developer on your team, or somebody who at least knows how to lead the effort. I've been that guy.
We do have developers on our team. They write Excel macros :). I work in data integration, so it isn't as simple as building a more robust tool. We still need infrastructure support or our tool doesn't do anything.
I've worked for a major international company and I was for a while the only maintainer of a shitty request form in an excel file, sent worldwide to hundreds of people. As they wanted more and more specific functions the stuff grew to thousands of unholy VBA code lines and a huge hidden sheet of data.
That thing even had a fully custom language switch function for all dozens of field labels and their possible values.
I kinda hope they're still using it (that wouldn't surprise me) and that their whole workflow will crash and burn when Microsoft finally kills VBA.
MS: You have until (now +2 years) to phase out VBA.
Enterprise: panic noises
Nah. They'll just sit on their hands for two years and then panic.
And then MS will issue a limited extension.
An business still won't be ready.
Modern auth on email is still causing problems for a lot of places.
Enterprise will cause a boom in hiring VBA devs to migrate legacy apps to other programming languages, then hear Microsoft will extend support for a few more years, then fire all those VBA devs again. If Microsoft had some wits, they'd create easy tools to migrate VBA to C#.
Well it's gotta be done some time... otherwise we end up with another version of COBOL.
otherwise we end up with another version of COBOL.
We're already there, I don't see VBA being phased out of accounting or finance for at least a decade and I'm not even sure then.
I'm migrating some VBAs to python/pandas and reducing some process times from half an hour to 3 minutes.
Yup that's normal because VBA is single-threaded, doesn't take advantage of vector instructions and even its interpreter is slow. So when someone writes numerical code in VBA working in single precision, and assuming they have an 8 core CPU with AVX2, they're using only 1/64-th of their CPU's processing power. On the other hand with Python, while it's still interpreted, the interpreter is much faster on its own, and you have modules like numpy
that use precompiled routines that take advantage of vector instructions (and possibly multiple cores).
Btw, Libreoffice supports python scripts. Other offices too?
Excel will kinda support it soon, unfortunately it will only be available to run in the cloud and not locally.
I work in corporate, so it's Microsoft all the way up.
The first hack I ever did was to remove the security add-on my middle school put on our macs so we couldn’t play games. The attack vector was the file APIs in VBScript executed via a word doc. Fun times!
At least you got hardware that wasn't designed for schools.
I don’t think there were any computers designed for K-12 schools at the time. They were PowerMacs, and later, iMacs. They weren’t even set up for multi-user; they were just unlocked all the time.
Took them long enough.
What if law enforcement need to make a gooey to trace a hacker?
Hopefully this means a modern replacement for slmgr.vbs
It's okay, we will have python as a replacement.
Now would be a great time for everybody to dust off their VBScript skills and start offering contracting hours to the tens of thousands of companies that rely heavily on it for daily operations. Make yourself a mint porting scripts from 1996 into a modern language, or even PowerShell if you must.
Poorly authenticated process injection will stay though? Ok. Good job guys.
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed