quarta-feira, 4 de novembro de 2009

Macro para fechar o OpenOffice


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


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