3429x
001293
2016-08-02

VBA 中的 COM 接口 | 1. 打开 RFEM,创建并保存模型,关闭 RFEM

文章的第一部分关于 COM 接口介绍了如何打开和关闭 RFEM。 Als Programmiersprache wird VBA in Excel verwendet, der Programmablauf ist aber identisch zur Programmierung mit C#. Damit VBA die Befehle zur Schnittstelle kennt, muss zunächst der entsprechende Verweis hinzugefügt werden. In der Abbildung ist links das Beispiel anhand von RFEM 5 zu sehen.

然后,给出一个简单程序的源代码。 您可以先为模型创建接口,然后使用模型打开程序。 保存后关闭程序。

使用错误处理程序来检测和显示可能出现的输入/输出问题总是非常有用的。 如果出现问题,许可证将再次解锁,因此您可以访问RFEM/RSTAB。 进一步的解释可以在源代码中找到。

CreateModel()

'首先,
'创建一个新模型。
昏暗 iModel As RFEM5.model
iModel = 新建 RFEM5.model

'这里定义了模型名称,
'表1中单元格B2的内容
',如果为空,则为“ test.rf5”。
昏暗 modelName 作为字符串

If IsEmpty(工作表(“表1”).Range(“ B2”)。值) 然后
modelName = “ test01.rf5”
Else
modelName = CStr(工作表(“ Tabelle1”).Range(“ B2”)。值)
End If

'将模型名称传输到接口。
iModel.SetName(modelName)

'在此可以指定模型描述。
iModel.SetDescription(“说明”)

'错误处理程序。
出现错误时转到 e

昏暗 iApp As RFEM5.Application
'打开程序接口。
'(程序启动。)
iApp = iModel.GetApplication

'禁止COM许可证和程序访问。
iApp.LockLicense

'程序显示在前台。
iApp.Show

'模型保存在 “ C:\ temp” [SCHOOL.INSTITUTION]
iModel.Save(“ C:\ temp \”&modelName)

e: If 错误编号<> 0 然后 MsgBox Err.Description,,Err.Source

'COM许可证已解锁,可以再次访问程序。
iModel.GetApplication.UnlockLicense
'程序关闭。
iApp.Close

结束子


作者

Günthel 先生为Dlubal 软件客户提供技术支持。

链接