Dotaz:
Jak mohu otevřít a opět zavřít program RSTAB/RFEM na pozadí pomocí rozhraní COM?
Odpověď:
Inicializací proměnné typu Application (Interface) parametrem "new" se spustí program RFEM/RSTAB 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.