开发者

Windows Automation with Matlab

Hello I'm trying to control FastHenry2 via Windows automation with Matlab. I'm new to that topic. If I understood everything right I have to open it:

ax=actxserver('FastHenry2.Document');

and than run the function I want with the handle?

ax.Run('coils1.inp') 

but that doesn't work. Matlab can't find Run and uses run instead, which is some build in Function not related at all with the problem. Also all other Function this UI should support don't work either. For Example FastHenry2.IsRunning or FastHenry2.GetInductance. So I guess I do something wrong with the whole UI handling. FastHenry provides an example script using VBS which I attached bellow and since it works fine FastHenry should be installed right on computer. I'm thankful for every hint I can get.

so long eactor

The following VBS example works fine

Dim FastHenry2
pathPos = InstrRev(Wscript.ScriptFullName, Wscript.ScriptName)
path = left(Wscript.ScriptFullName, pathPos-1)

开发者_JAVA百科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


You might need to use an alternate syntax. Instead of

FastHenry2.Run('coils1.inp')

try this.

invoke(FastHenry2, 'Run', 'coils2.inp')

I've had to do this for some methods on the Excel.Application ActiveX control. I'm not clear why the first syntax doesn't work in some cases.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜