Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
您好,我正在尝试使用Matlab通过Windows自动化来控制FastHenry2。我是那个话题的新手。如果我正确理解所有内容,则必须打开它:
ax=actxserver('FastHenry2.Document'); 而不是用手柄运行我想要的功能? ax.Run('coils1.inp') 但这不起作用。 Matlab找不到“运行”,而是改用“运行”,这是“功能”中的某个内置功能,与该问题完全无关。同样,此用户界面应支持的所有其他功能也不起作用。例如FastHenry2.IsRunning或FastHenry2.GetInductance。所以我想我在整个UI处理方面做错了。 FastHenry提供了一个使用VBS的示例脚本,我将它附加在下面,并且由于其工作正常,FastHenry应该直接安装在计算机上。我很感谢我能得到的每一个提示。 这么长的演员 下面的VBS示例工作正常 Dim FastHenry2 pathPos = InstrRev(Wscript.ScriptFullName, Wscript.ScriptName) path = left(Wscript.ScriptFullName, pathPos-1) Set FastHenry2 = CreateObject("FastHenry2.Document") couldRun = FastHenry2.Run("""" + path + "coils1.inp""") Do While FastHenry2.IsRunning = True Wscript.Sleep 500 Loop inductance = FastHenry2.GetInductance() WScript.Echo "Coils1 mutual inductance is " + CStr(inductance(0, 0, 1)) FastHenry2.Quit Set FastHenry2 = Nothing 回答: 您可能需要使用其他语法。代替 FastHenry2.Run('coils1.inp') 尝试这个。 invoke(FastHenry2, 'Run', 'coils2.inp') 我必须对Excel.Application ActiveX控件上的某些方法执行此操作。我不清楚为什么在某些情况下第一种语法不起作用。 更多&回答... |
![]() |
![]() |