3436x
001293
2016-08-02

Interfaz COM en VBA | 1. Abrir RFEM, crear y guardar el modelo, cerrar RFEM

La primera parte de la publicación sobre la interfaz COM describe cómo abrir y cerrar RFEM. El lenguaje de programación VBA se usa en Excel; sin embargo, la secuencia del programa es la misma que para la programación con C#. Primero, es necesario agregar la referencia correspondiente en VBA para reconocer los comandos para la interfaz. In der Abbildung ist links das Beispiel anhand von RFEM 5 zu sehen.

Después, el código fuente para un programa simple. Puede crear la interfaz del modelo primero y después abrir el programa utilizando el modelo. Después de guardarlo, se cierra el programa.

Siempre está bien usar el controlador de errores para detectar y mostrar los posibles problemas de entrada/salida. Si hay un problema, se desbloquea la licencia para que pueda acceder a RFEM/RSTAB. Puede encontrar más información en el código fuente.

Sub CreateModel()

' Firstly, 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 String

If IsEmpty(Worksheets("Table1").Range("B2").Value) Then
modelName = "test01.rf5"
Else
modelName = CStr(Worksheets("Tabelle1").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 opened.
' (Program is 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


Autor

El Sr. Günthel proporciona soporte técnico para los clientes de Dlubal Software y se ocupa de sus solicitudes.

Enlaces