matlab - 使用 Matlab 进行 Windows 自动化

标签 matlab ui-automation

您好,我正在尝试使用 Matlab 通过 Windows 自动化控制 FastHenry2。 我对这个话题很陌生。如果我理解一切正确,我必须打开它:

ax=actxserver('FastHenry2.Document');

然后用句柄运行我想要的函数?

ax.Run('coils1.inp') 

但这不起作用。 Matlab 找不到 Run 并使用 run 代替,这是一些与问题完全无关的内置函数。此外,此 UI 应支持的所有其他功能也不起作用。例如 FastHenry2.IsRunning 或 FastHenry2.GetInductance。所以我想我在整个用户界面处理上做错了。 FastHenry 提供了一个使用 VBS 的示例脚本,我在下面附上了它,因为它工作正常,所以 FastHenry 应该直接安装在计算机上。我很感谢我能得到的每一个提示。

这么久了 Actor

以下 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 控件上的某些方法执行此操作。我不清楚为什么第一种语法在某些情况下不起作用。

关于matlab - 使用 Matlab 进行 Windows 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660649/

相关文章:

c++ - ndgrid matlab函数的工作原理

c# - Windows UI 自动化不显示所有子元素?

xcode - 在 Xcode 中将 aps-environment 授权添加到 UITest 目标

仪器 > 自动化 - 以 "Script was stopped by the user"停止

C# : TestStack. White 无法使用 Inspect.exe 提供的 SearchCriteria.ByAutomationID 捕获对象

ui-automation - 如何自动化 xceed updown 控件

matlab - 在 Python 中使用 matplotlib 绘制多个数据点

matlab - Simulink:使用 Mask 控制变体子系统

matlab - MATLAB矩阵的互信息

matlab - 从数组的每一行中减去多个向量( super 广播)