1039x
004499
10.7.2020

RSTAB/RFEM na pozadí přes rozhraní COM

Jak mohu otevřít a opět zavřít program RSTAB/RFEM na pozadí pomocí rozhraní COM?


Odpověď:

Inicializací proměnné typu Aplikace (rozhraní) na „nový“ se program RFEM/RSTAB spustí na pozadí. Tato proměnná slouží k vytvoření nového modelu pomocí metody "CreateModel" nebo k ukončení programu příkazem "Close".

Následující příklad ukazuje, jak se spustí program RSTAB, poté program vytvoří model s uzlem a program se ukončí:

Sub RSTAB_open_close()

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

'   start rfem
Dim iApp As RSTAB8.Application
Set iApp = New RSTAB8.Application

iApp.LockLicense
iApp.Show

On Error GoTo E

    '   create model
    Dim iMod As RSTAB8.IModel2
    Set iMod = iApp.CreateModel(filename)
    
    '   add data to model
    Dim nd As RSTAB8.Node
    nd.no = 10
    nd.X = 1
    nd.Y = 2
    nd.Z = 3
    
    Dim iModdata As RSTAB8.iModelData
    Set iModdata = iMod.GetModelData
    
    iModdata.PrepareModification
    iModdata.SetNode nd
    iModdata.FinishModification
    
    iMod.Save filename


K:  If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    
    Set iModdata = Nothing
    Set iMod = Nothing
    iApp.UnlockLicense
    iApp.Close
    Set iApp = Nothing
    
End Sub

Příkaz "iApp.Show" je volitelný. Ten zajišťuje, že se program nezobrazí na pozadí, ale zobrazí se normálně.

V sekci Ke stažení najdete makro programu Excel s podprogramy pro RFEM a RSTAB.

Je nutné vzít do úvahy, že složka, ve které se soubor vytvoří, musí existovat.


Autor

Ing. Günthel zajišťuje technickou podporu zákazníkům.

Stahování


;