Esta macro foi, sem dúvida, das mais dificeis de encontrar e de adaptar, pois tem que ser criada dentro de uma biblioteca (quem percebe mais de Openoffice sabe bem do que estamos a falar) por isso para quem está menos familiarizado com a ferramenta, aqui vai, passo a passo, a forma de o conseguir:
1. Com o OpenOffice aberto vá a a Ferramentas>Macros>Organizar Caixas de Dialogo
2. Abra o separador Bibliotecas (fica situado em "As minhas macros e caixas de dialogo")
3. Click em "Novo" para criar uma nova biblioteca
4. Dê o nome à biblioteca (Neste caso "Exemplo")
5. Abra o separador módulos e, com a biblioteca seleccionada, click em novo
6. Dê o nome ao módulo (Neste caso "accoes")
7. Com o nome do módulo seleccionado, click em "Editar"
8. Com o módulo editado cole o seguinte 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
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
9. Crie uma nova base de dados e registe-a
10. Crie um formulário e arraste para ele um "Botão de accão" (Neste caso "Sair")
11. Com o botão seleccionado click duas vezes nele para exibir as suas propriedades
12. Nas "Propriedades" do botão, seleccione a aba "Eventos" e em "Botão do rato premido" direccione para ele a macro "FechaOffice" que criou:
13. Feche o OpenOffice, salve as alterações
14. Teste a execução do que criou
NOTA: Funciona em Windows Vista e OpenOffice 3.1.1