Scheduled to block execution of VBA macros received from the Internet (from 2022-07-27)
I have some news related to VBA, so I'll write a short post.
From July 27, 2022, execution of VBA macro files received from the Internet is blocked.
This is a security measure to prevent someone with malicious intent from distributing malicious code using macros.
MS 365 Office apps running on Windows only. Not applicable to Office apps running on Mac OS or installed.
The following article was posted on TechCrunch on July 25, 2022.
https://techcrunch.com/2022/07/22/microsoft-office-macros-blocked-default/
Some excerpts
Microsoft confirmed this week that it will soon start blocking Visual Basic Applications (VBA) macros in Office apps by default after quietly rolling back the change earlier this month.
In a new update, the technology giant said that it will start blocking Office macros by default starting from July 27. This comes shortly after Microsoft halted the rollout of the macros-blocking feature citing unspecified “user feedback.” It's thought the initial rollout, which kicked off at the beginning of June, caused issues for organizations using macros to automate routine processes, such as data collection or running certain tasks.
The “rolling back the change” mentioned in the article above refers to the situation in which you were briefly blocked earlier this month and then reversed to avoid being blocked again.
There is a Korean document related to macro blocking, so here's a link. It's machine translation, but it's not bad to read.
https://docs.microsoft.com/ko-kr/DeployOffice/security/internet-macros-blocked
According to the article above, if you open a file from the Internet (such as an email attachment) and the file contains macros, you will see the following message.
If you designate it as a trusted file, you can set it not to be blocked, so it doesn't mean you can't use VBA macros.
In the long run, they say they will get rid of VBA, and I absolutely agree.
VBA should have long been replaced by Python or JavaScript or TypeScript. Or, I think it would be good to be replaced with C#, which is a .NET language.
In terms of the Visual Basic for Application (VBA) language itself, there is no advantage. There are few useful libraries, and the extensibility is poor.
The replacement language for VBA is likely to be one of the following four.
- Python
- C#
- TypeScript
- JavaScript
My purely personal preference is 1 > 2 > 3 > 4 in that order. Python is the best, JavaScript is the worst.
It's not that JavaScript is bad, it's just a preference.
To block VBA macros, please embed Python into MS Office.
It would be great if VBE (Visual Basic Editor) could also be changed to VSCode.
MS wants you to do that!!!!!
As of April 2023, the ban seems to have been implemented.
In the meantime, block >> No, there was a reversal, but MS completely blocked it because of macro-related issues.
Related matters were quietly written and carried out only on the MS Excel Blog without notice, and I became aware of the recent increase in inquiries from colleagues saying that the file was not opening.
Ah, now it seems that it has finally been blocked.
In the future, I think I should write a way to unblock a tool made with VBA.
I really hope you can replace VBA with Python or C# as soon as possible.
thanks for the comment