Como criar uma macro para fechar o Open/Libre Office? [RESOLVIDO]

1. Como criar uma macro para fechar o Open/Libre Office? [RESOLVIDO]

Luiz Carlos
luizcarlos18rj

(usa Suse)

Enviado em 17/07/2014 - 16:19h

Oi galera...

Estou na empreitada de migrar sistemas feios em VBA / MS Access para LibreOffice / OpenOffice Base, e criei uma macro para ao sair da aplicação ( botão Sair do form_principal ) fechar o LibreOffice / OpenOffice, segue o código:

Sub FechaOffice
dim cmdShell As String
dim retour As Double
ThisComponent.Parent.store()
' Indicar o caminho completo para a sua macro
cmdShell = "soffice.exe macro:///Exemplo.accoes.Fecha()"
Shell(cmdShell,2)
End sub
Sub Fecha()
stardesktop.terminate
End Sub

Essa Macro funciona no Libre / Open Office Base para windows, mas por causa da referência "cmdShell = "soffice.exe macro:///Exemplo.accoes.Fecha(), Shell(cmdShell,2)", esta macro específica não funciona no GNU / Linux.

Alguém sabe me dizer como faria para adaptar esse código para rodar em AMBOS os sistemas?

desde já agradeço...


  


2. A gambiarra foi essa

Luiz Carlos
luizcarlos18rj

(usa Suse)

Enviado em 28/07/2014 - 16:01h

Sub closeThisForm

thisComponent.CurrentController.Frame.close( true )

End Sub

REM -----------------------------------------
Sub closeDatabase

closeThisForm

thisComponent.Close()

End Sub

* Dessa forma pelo menos ele fecha a base de dados fechando a janela do openoffice, mas o processo oficce.exe continua ativo e roda tando em windows quando linux.

Aceito sugestões de melhorias...


Pena que dessa vez não tive ajuda da galera, mas fica a dica para futuras referências.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts