用于从 Dymola 读取值的 Excel 宏文件

问题描述 投票:0回答:1

我正在使用 Excel 宏进行 Dymola 模拟。它与 Dymola 2020x 或 2022x 配合良好。升级到2024x后,这个excel工具就不能用了。我创建了简单的 dymola 模型和 Excel 宏,如下所示。

//Dymola 模型

model Unnamed2
  parameter Real x=1;
  Real y;
equation 
  y=2*x;
  annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
        coordinateSystem(preserveAspectRatio=false)));
end Unnamed2;

//Excel宏

Sub ExcelMacro()
Cells(1, 1) = Application.DDERequest(Application.DDEInitiate("dymola", "xxx"), "ModelicaString:x")
End Sub

如果我在 Dymola 2022x 中模拟 Dymola 模型后运行 excel 宏,则单元格 A1 返回 1。 但它返回#REF!如果我使用 Dymola 2024x。有谁知道解决办法吗

excel vba dymola
1个回答
0
投票

似乎有一些因素阻碍了它在 Dymola 2024x 中的工作;它将在未来版本中得到纠正。解决方法是使用:

Cells(1, 1) = Application.DDERequest(Application.DDEInitiate("dymola", "xxx"), "MatlabString:x")

在这种情况下,矩阵和向量的语法会略有不同,但标量将继续工作。

© www.soinside.com 2019 - 2024. All rights reserved.