Interface COM dans VBA | 1. Ouverture de RFEM, création et enregistrement d’un modèle, fermeture de RFEM

Trucs & Astuces

La première partie de l'article sur l'interface COM décrit l'ouverture et la fermeture de RFEM. Le langage de programmation VBA est utilisé dans Excel, mais la séquence du programme est la même que pour la programmation en C #. Tout d'abord, il est nécessaire d'ajouter la référence correspondante dans VBA pour reconnaître les commandes de l'interface. La figure de gauche montre l'exemple de RFEM 5.

Ensuite, le code source d'un programme simple. Vous pouvez d'abord créer l'interface du modèle, puis ouvrir le programme à l'aide du modèle. Après la sauvegarde, le programme est fermé.

Il est toujours bon d’utiliser le gestionnaire d’erreur pour détecter et afficher les éventuels problèmes d’entrée / sortie. En cas de problème, la licence est à nouveau déverrouillée afin que vous puissiez accéder à RFEM / RSTAB. Des explications supplémentaires peuvent être trouvées dans le code source.

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

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

Liens

Contactez-nous

Contactez-nous

Des questions sur nos produits ? Besoin de conseils sur un projet ?
Contactez notre assistance technique gratuite par e-mail, via le chat Dlubal ou sur notre forum international. N'hésitez pas à consulter les nombreuses solutions et astuces de notre FAQ.

+33 1 78 42 91 61

info@dlubal.fr

RFEM Logiciel principal
RFEM 5.xx

Programme de base

Logiciel de calcul de structures aux éléments finis (MEF) pour les structures 2D et 3D composées de plaques, voiles, coques, barres (poutres), solides et éléments d'assemblage

Prix de la première licence
3 540,00 USD
RFEM Autres
RF-COM 5.xx

Module additionnel

Interface programmable (API) basée sur la technologie COM

Prix de la première licence
580,00 USD