599x
001545
2020-07-10

[PL] FAQ 004499 | Jak mogę otwierać i zamykać program RFEM/RSTAB w tle za pomocą interfejsu COM?

Pytanie:
Jak mogę otwierać i zamykać program RFEM/RSTAB w tle za pomocą interfejsu COM?

Odpowiedź:
Inicjalizacja zmiennej typu Aplikacja (interfejs) przy użyciu opcji „Nowa” powoduje, że program RFEM/RSTAB jest uruchamiany w tle. Przy pomocy tej zmiennej można również utworzyć nowy model metodą „CreateModel”, lub zamknąć program za pomocą polecenia „Zamknij”.

Poniższy przykład pokazuje, jak uruchomić program RSTAB, w programie utworzyć model z węzłem i zamknąć program:

Sub RSTAB_open_close ()

Dim nazwa pliku As String
nazwa pliku = Application.ActiveSheet.Cells (7, 3)

' uruchom program RFEM
Dim iApp As RSTAB8.Application
Ustaw iApp = Nowy RSTAB8.Application

iApp.LockLicense
iApp.Show

W przypadku błędu Idź do E

    ' utwórz model
    Dim iMod As RSTAB8.IModel2
    Ustaw iMod = iApp.CreateModel(nazwa pliku)

    ' dodaj dane do modelu
    Dim nd As RSTAB8.Node
    nd.no = 10
    nd.X = 1
    nd.Y = 2
    nd.Z = 3

    Dim iModdata As RSTAB8.iModelData
    Ustaw iModdata = iMod.GetModelData

    iModdata.PrepareModification
    iModdata.SetNode nd
    iModdata.FinishModification

    Nazwa pliku iMod.Save

E:  Jeżeli Err.Number 0 to MsgBox Err.description, , Err.Source

    Ustaw iModdata = Nic
    Ustaw iMod = Nic
    iApp.UnlockLicense
    iApp.Zamknij
    Ustaw iApp = Nic

End Sub

Polecenie "iApp.Show" jest opcjonalne. Pozwala to na wyświetlanie programu w zwykły sposób, a nie w tle.

W sekcji Pobrane znajduje się makro Excela z podprogramami dla programów RFEM i RSTAB.

Należy pamiętać, że folder, w którym został utworzony plik, musi istnieć.