Interfejs COM w VBA | 1. Otwieranie programu RFEM, tworzenie i zapisywanie modelu, zamykanie programu RFEM

Wskazówki i porady

Pierwsza część postu o interfejsie COM opisuje otwieranie i zamykanie programu RFEM. Język programowania VBA jest używany w programie Excel, jednak sekwencja programu jest taka sama jak w przypadku programowania za pomocą C #. Po pierwsze, konieczne jest dodanie odpowiedniego odnośnika w VBA, aby rozpoznać polecenia interfejsu. Rysunek po lewej pokazuje przykład programu RFEM 5.

Następnie kod źródłowy prostego programu. Możesz najpierw utworzyć interfejs dla modelu, a następnie otworzyć program za pomocą modelu. Po zapisaniu program jest zamknięty.

Zawsze dobrze jest użyć procedury obsługi błędów, aby wykryć i wyświetlić możliwe problemy z wejściem / wyjściem. Jeśli wystąpi problem, licencja zostanie odblokowana ponownie, dzięki czemu można uzyskać dostęp do programu RFEM / RSTAB. Dalsze wyjaśnienia można znaleźć w kodzie źródłowym.

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

Linki

Kontakt

Kontakt do Dlubal

Mają Państwo pytania lub potrzebują porady?
Zapraszamy do bezpłatnego kontaktu z nami drogą mailową, poprzez czat lub forum lub odwiedzenia naszej strony z FAQ z użytecznymi wskazówkami i rozwiązaniami.

+48 (32) 782 46 26

+48 730 358 225

info@dlubal.pl

RFEM Program główny
RFEM 5.xx

Program główny

Oprogramowanie do obliczeń płaskich i przestrzennych układów konstrukcyjnych, obejmujących płyty, ściany, powłoki, pręty (belki), bryły i elementy kontaktowe, z wykorzystaniem Metody Elementów Skończonych (MES)

Cena pierwszej licencji
3 540,00 USD
RFEM Inne
RF-COM 5.xx

Moduł dodatkowy

Programowalny interfejs (API) w oparciu o technologię COM

Cena pierwszej licencji
580,00 USD