将Vba代码转换成Php代码,如何把 VBA 代码转换成 .Net/iLogic

原标题:如何把 VBA 代码转换成 .Net/iLogic

"

大部分时候,我们是在VBA里面写自动化设计的示例代码,原因如下:

VBA 是 Inventor 自带的 SDK,是 Inventor 的一部分。

VBA 有智能语法提示。

可以设置断点,调试代码方便。

可以用 Watches 窗口查看变量值和对象。

可以通过 Object Browser 查看所有 Inventor 对象的属性和方法。

我们在VBA里面完成代码工作以后,想要在iLogic或者.Net环境里面运行代码,此时,就需要把VBA的代码的转换。

不做转换会有什么情况发生呢?让我们来试试看。

如下是一段VBA代码,如果直接在iLogic环境里运行:

Sub MySubMethod

Dim doc As Document

Set doc = ThisApplication.ActiveDocument

Call MsgBox(doc.DisplayName)

End Sub

Sub MyMainMethod

' Do something

' Then call another method

Call MySubMethod

End Sub

问题1:需要Sub Main

解决办法:如果我们有多个方法,第一个方法应该是程序最先被执行的地方,这个方法需要命名为Sub Main。

在上面这段代码里面,我们需要把Sub MyMainMethod移到最上面,然后改名为Sub Main

a9aed854697fc9428703cd953850360d.png

问题2:没有Let/Set

解决办法:我们需要从代码里把“Set” 关键字删除掉。

6a5716e7b721f112b20c7918f806c702.png

最后得到如下代码:

Sub Main

' Do something

' Then call another method

Call MySubMethod

End Sub

Sub MySubMethod

Dim doc As Document

doc = ThisApplication.ActiveDocument

Call MsgBox(doc.DisplayName)

End Sub

还有一点,也许不是必要的,但我觉得可以值得一试的是,把On Error Resume Next改成Try/Catch.

比如这段代码:

On Error Resume Next

Dim doc As PartDocument

doc = ThisApplication.ActiveDocument

If Err.Number = 0 Then

Call MsgBox(doc.DisplayName)

Else

Call MsgBox("No active part document")

End If

On Error Goto 0

我们可以切换成这样:

Dim doc As PartDocument

Try

doc = ThisApplication.ActiveDocument

Call MsgBox(doc.DisplayName)

Catch

Call MsgBox("No active part document")

End Try

"

(来源:欧特克大视界)返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值