2

こんにちは、Matlab で Windows 自動化を介して FastHenry2 を制御しようとしています。私はそのトピックに不慣れです。すべてを正しく理解している場合は、それを開く必要があります。

ax=actxserver('FastHenry2.Document');

ハンドルで必要な機能を実行するよりも?

ax.Run('coils1.inp') 

しかし、それはうまくいきません。Matlab は Run を見つけることができず、代わりに run を使用します。これは、問題とはまったく関係のない Function のビルドです。また、この UI がサポートする必要がある他のすべての機能も機能しません。たとえば、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
4

1 に答える 1

4

別の構文を使用する必要がある場合があります。それ以外の

FastHenry2.Run('coils1.inp')

これを試して。

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

Excel.Application ActiveX コントロールのいくつかのメソッドでこれを行う必要がありました。場合によっては、最初の構文が機能しない理由がわかりません。

于 2010-09-08T18:33:35.567 に答える