关于以前写的VBA在新版本64位Inventor中无法使用的问题
来源:互联网 发布:淘宝 补光神器 编辑:程序博客网 时间:2024/05/07 00:03
问题:以前使用的VBA程序,使用了诸如ThisDocument、Me这样的对象,在新版的Inventor 64位里面,无法使用了。(现在需要使用ThisDocument.InventorDocument这样的表述方法),并且由于使用了Autoopen这样的自动执行的函数,导致打开一个Inventor部件的时候,弹出大量的错误对话框。能否将Inventor里面的VBA功能禁用,或者禁用AutoOpen函数?能否批量的将零件文件中的VBA程序代码删除或改写,这种操作是可以脱离Inventor进程进行,还是必须在Inventor中进行?
解决方法:
一、按住shift健就可以禁用Auto宏命令,Inventor API帮助文档里有说明:
"Autodesk Inventor runs automatic macros automatically whenever the associated events occur. If the user presses the Shift key when the event occurs, the automatic macro will not run. For example, if the user presses the Shift key while opening a document that contains an AutoOpen macro, the macro will not run."
二、要删除或者修改VBA程序,有两种方法:
- 可以编写VBA项目(.ivb文件)或者一个简单的宏命令来删除文件中的VBA程序(等用户打开了文件后执行该命令)。例子如下:
注:需要增加Microsoft Visual Basic for Applications Extensibility library (工具 -> 参考...)。 CodeModule还有一个ReplaceLine函数可以修改VBA代码。
你也可以做个插件实现上述代码,再做个菜单方便界面调用。插件的一个好处是它可以有安装程序,所以不用配置/修改用户机器上的默认的.ivb文件(应用程序项目),也不用你手动的去加载你的VBA项目。
以上两种方法都离不开Inventor进程。
三,这种方法可以脱离Inventor,请看我的另外一篇文章:免费的删除文档中的VBA程序的工具及源码
- 关于以前写的VBA在新版本64位Inventor中无法使用的问题
- 在Inventor的插件中使用WPF
- 关于用Dshow写的虚拟摄像头无法在flash中使用的问题
- 教程:VB6写的32位dll插件升级支持64位Inventor
- 在Inventor的插件中使用WPF(更新)
- 关于CIPADDRESSCTRL在win32SDK中无法使用的问题
- 关于SQLlite数据库 在32 位系统上的无法使用的问题
- 如何解决HttpClient类在Android新版本中无法添加的问题
- linux中安装新版本python之后yum无法使用的问题
- 关于使用新版本的BufferKnife出现NullPointerException的问题
- 在vs添加以前写的dll(使用以前的类)
- 修复CSDN Blog中以前图片无法显示的问题
- 使用Hashtable传递参数在jasperreport新版本中引发的问题
- 关于PL\SQL无法在64位Client下使用的原因及解决办法
- 关于32位程序在Win7&64位系统中连接Microsoft Excel数据源的问题
- 关于在32位系统下使用VMware安装64位系统的问题
- 在win10 中excel vba 无法直接使用ddl声明的函数,如无法使用mouse_event事件
- 在新版本的php中使用旧的php代码
- tcp/ip协议体系结构简介
- data,bdata,idata,pdata,xdata,code存储类型与存储区bit
- ASP编码规范
- linux彻底删除oracle
- 常用黑客软件
- 关于以前写的VBA在新版本64位Inventor中无法使用的问题
- Socket 的 Send Recv 的长度问题? (转)
- Windows Azure 解决方案系列: Real World Windows Azure: 与微软杰出工程师, Sean Nolan的访谈
- DB2 Utility Abend S04E
- 数据库nosql 笔记
- 远程图形话安装oracle
- 经典的Asp.net三层设计
- WM 的BSP开发的STARTUP.S
- 信道"tcp"已注册