Pergunta:
Como é que posso abrir e fechar o RFEM/RSTAB em segundo plano através da interface COM?
Resposta:
Ao iniciar uma variável do tipo Aplicação (interface) com "new", o RFEM/RSTAB é iniciado em segundo plano. Com esta variável, também pode criar um novo modelo utilizando o método "CreateModel" ou fechar o programa utilizando o comando "Close".
O exemplo a seguir mostra como iniciar o RSTAB, criar um modelo com um nó no programa e fechar, novamente, o programa:
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
' criar modelo
Dim iMod As RSTAB8.IModel2
Definir iMod = iApp.CreateModel (nome do arquivo)
' adicionar dados ao modelo
Dim nd As RSTAB8.Node
nd.no = 10
nd.X = 1
nd.Y = 2
nd.Z = 3
Dim iModdata As RSTAB8.iModelData
Defina iModdata = iMod.GetModelData
iModdata.PrepareModification
iModdata.SetNode nd
iModdata.FinishModification
iMod.Save nome do ficheiro
E: If Err.Number 0 Then MsgBox Err.description, , Err.Source
Set iModdata = Nothing
Set iMod = Nothing
iApp.UnlockLicense
iApp.Close
Definir iApp = Nothing
End Sub
O comando "iApp.Show" é opcional. Este permite apresentar o programa normalmente e não em segundo plano.
Em Downloads, pode encontrar uma macro do Excel com as sub-rotinas para o RFEM e o RSTAB.
Tenha em atenção que a pasta onde o ficheiro é criado tem de existir.