Then, the source code for a simple program. You can create the interface for the model first, then open the program using the model. After saving, the program is closed.
It is always best to use the error handler in order to detect and display possible input/output problems. If there is a problem, the license is unlocked again so you can access RFEM/RSTAB. Further explanations can be found in the source code.
Sub CreateModel()
' First, an interface
' to a new model is created.
Dim iModel As RFEM5.model
Set iModel = New RFEM5.model
' Here, the model name is defined,
' either the content of cell B2 of sheet Table1
' or, if empty, "test.rf5".
Dim modelName As StringIf IsEmpty(Worksheets("Table1").Range("B2").Value) Then
modelName = "test01.rf5"
Else
modelName = CStr(Worksheets("Table1").Range("B2").Value)
End If
' Transfer of the model name to the interface.
iModel.SetName(modelName)
' It is possible to specify a model description here.
iModel.SetDescription("description")
' Error handling routine.
On Error GoTo e
Dim iApp As RFEM5.Application
' Interface to the program is open.
' (Program has started.)
Set iApp = iModel.GetApplication
' COM license and program access are blocked.
iApp.LockLicense
' Program is displayed in the foreground.
iApp.Show
' Model is saved at "C:\temp" .
iModel.Save("C:\temp\" & modelName)
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
' COM license is unblocked, program access possible again.
iModel.GetApplication.UnlockLicense
' Program is closed.
iApp.Close
End Sub