Como converter macros de xls para calc

Tenho macros programadas no Excel 2010 e pretendo passar a usá-las no LibreOffice. É possível? Como devo proceder?

Existe este site: Converter VBA em OpenOffice Basic

Ainda não precisei de testá-lo, dá uma olhada.

Se você é o autor das macros e sabe programar em VB, é meio caminho andado.

  1. A primeira tentativa é colocar no início (topo) do módulo, a opção

    Option VBASupport 1
    Option Compatible

e rodar sua macro pra ver se passa. V. pode ter sorte se não tiver de mexer em caixas de diálogo e outras coisas mais sofisticadas. Se for VB puro, há boas chances.

  1. Senão, rescrever ou modificar a macro.

A linguagem de programação “Star Basic” e o VBA são quase idênticas, a lógica de programação poderá ser preservada.

Ambas usam Sub, Function, Dim, End Sub, End Function, If-Then-Else - EndIf, etc…

O que muda são os objetos, por exemplo, no VB

oSheet = Sheet("Plan1")

torna-se

oSheet = ThisComponent.Sheets.getSheetByName("Plan1")

Portanto, suas macros deverão ser rescritas com os objetos do LibreOffice.

O melhor livro para macros no LibreOffice está disponível para baixar neste endereço:

https://wiki.documentfoundation.org/Documentation/Publications/pt-br#Macros