On the "Inventor iLogic, API & VBA Forum" forum, I see often people that use or even start learning VBA. In this post, I will try to explain why I think that is not a good idea. On the Microsoft site, you can read: “Visual Studio 2010 (VC++ 10.0) Service Pack 1 reached the end of extended support on July 14, 2020”. This is important because “Visual Basic for Applications” (VBA) depends on these Microsoft Visual C++ Redistributable.

Does that mean that VBA is obsolete? That depends, there are a few specific instances where Microsoft continues to support the Microsoft Visual C++ Redistributable for security fixes only, and only for Microsoft product(s) that depend on it. One such instance is when the Microsoft Visual C++ Redistributable is distributed in other Microsoft products, such as Microsoft Office.  Another such instance is when the Microsoft Visual C++ Redistributable is used in conjunction with supported versions of Visual Studio Tools for Office or VBA. But Microsoft doesn’t support the Microsoft Visual C++ Redistributable for any third-party applications.

Oke, VBA for Microsoft products like Office is not obsolete. (Although you may have seen that office is becoming a cloud application. In the cloud VBA is obsolete!) I guess that many companies depend on their excel macros. That backwards compatibility is why Microsoft is/was so popular in the office. Anyway, Autodesk Inventor is a third-party application…

This quote is from the Autodesk site: “For security reasons, the Microsoft VBA module is not included in the Inventor installer. It has a dependency on the Visual Studio 2010 (VC10) runtime, which Microsoft will not support after July 2020.” I guess that Autodesk will not get security fixes for VBA. VBA has always been a security risk. (I guess that everyone has seen the popups in Office telling you that you are about to run a Maco and that it can be dangerous if they come from an untrusted source…) But now the risk is getting bigger. When a vulnerability is found that lets the attacker run any arbitrary code, then we have a big problem. (Code like a Ransomeware.) Autodesk and Microsoft are not going to patch those vulnerabilities! And if you run in trouble Autodesk will tell you that you have been warned.

So is VBA for Inventor obsolete? That is still a difficult question. You can still download it and use it with Inventor at your own risk. But for how long we can do that I don’t know. For that reason alone I would advise no one to put any effort into learning VBA. If you have VBA code running I would suggest that you start thinking about alternatives. From a security standpoint, I would say VBA for Inventor is obsolete. That is probably also why Autodesk does not include it anymore in the standard installation. And writes: “As an alternative to VBA, consider using Inventor’s iLogic capability. It provides access to the Inventor API using VB.NET.”

If you come from VBA or if you want to learn to write code. Then iLogic is not as intuitive as VBA. For a start, the user interface is not as good. You can find far more information about VBA than about “iLogic”.  (even many examples in the help are written for VBA) You can't create buttons for your iLogic rules/macro’s. But there are solutions for many of those issues. How to overcome those hurdles is a topic for another post.

Sources:

 

Skills:

Autodesk Inventor, Vault, Git, C#, vb, .net, php HTML, css, js

Education:

University computer science.
HBO Mechanical engineer.
MBO Fine mechanics.

Experience:

Programmer and Mechanical engineer at Kelvion
(2016 - 20..)

Mechanical engineer at Strukton
(2009 - 2016)

Mechanical engineer at RDG-engineering
(2007 - 2009)

CNC Programmer at VMC
(2005 - 2007)

volunteer at Taizé
(2007)

Certifications:

Objectgeoriënteerd analyseren en ontwerpen, Objectgeoriënteerd programmeren in Java, Webapplicaties: de clientkant, Databases, Security Aware Programmer, Web Security Specialist