Cara vc tem 3 formas de fazer isso:
1 - A extensão Access2Base simplifica, e muito, a API UNO dentro LibreOffice Base. E ao que parece, pelos exemplos, a sintaxe fica bem próxima àquela utilizada no Ms Access.
A partir da versão 4.2 do LibreOffice, essa extensão foi incorporada. Para fazer uso de seus recursos basta colar a instrução abaixo no começo do módulo:
Sub DBOpen(Optional poEvent As Object)
If GlobalScope.BasicLibraries.hasByName("Access2Base") then GlobalScope.BasicLibraries.LoadLibrary("Access2Base")
Call OpenConnection(ThisDatabaseDocument)
End Sub
Os objetos, métodos, propriedades, etc. estão descritos (em inglês) na página de ajuda do projeto Access2Base.
( resta resposta foi me dada a uma pergunta que fiz sobre macros VBA por Grafeno )
Ou seja, use o mesmo código, contanto que ative essa extensão Access2Base (ideal é instalar a versão mais recente do LibreOffice )
Usando a extensão access2base o código para “salvar como” ficaria mais ou menos assim:
RunCommand(“SaveAs”)
2 - Converta o código VBA para OoBasic nestye site: http://www.business-spreadsheets.com/vba2oo.asp
3 - Use o “gravador manual ne macros” do LibreOffice e faça manualmente a ação de ir no menu "arquivo → Salvar como: " Para que o Libreoffice transforme essa ação em código de macro, para ativá-la vc tem que ir em:
Menu Ferramentas: → Opções: → Avançado → e ativar as caixas:
- Ativar funcionalidades experimentais
- Habiitar Gravador de macros.