Pergunte aqui
0

LibreOffice botões com erro

perguntadas 2013-04-04 13:13:24 +0200

esta mensagem está marcada como wiki comunitário

Esta mensagem é um wiki. Qualquer pessoa com karma >75 é bem-vinda para a melhorar.

Bom dia, coloco aqui a seguinte questão: Quando faço a conversão de um ficheiro de excel para libreoffice v.4.0, faço as alterações no codigo e no programa, mas quando fecho o ficheiro e volto a abri-lo, o mesmo começa a dar erros novos, que não me tinha dado anteriormente. No caso dos botões com erro, é por exemplo no inicio crio um ficheiro e atribu-o uma macro a um botão e fica tudo a rolar, e quando reinicio o ficheiro, o mesmo não me executa a macro. Será que alguem pode dar uma ajudinha?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Isso mesmo tendo já feito a conversão para ods no teu caso, o libreoffice continua a executar os objetos em formato xls ou seja em formato excel. quando fechas e voltas a abrir o ficheiro ele ai assume uma especie de refresh ao ficheiro, e ai é normal que começem a surgir muitos outros problemas no teu codigo, como o nao reconhecimento de determinados objetos, funcoes, etc.

imagem do gravatar de m0t0tud0m0t0tud0 ( 2013-04-04 19:18:37 +0200 )editar

1 Resposta

1

respondidas 2013-04-04 21:51:23 +0200

imagem do gravatar de Olivier

As macros do Excel (VBA) tem compatibilidade limitada com o LibreOffice.

As macros dos ficheiros Excel devem ser analisadas para verificar se precisam ser modificadas para funcionar no LibreOffice.

O LibreOffice utiliza a linguagem BASIC (StarBasic) e o Excel utiliza a linguagem VBA. Ambas derivadas do BASIC. A sintaxe é similar, mas há diferenças que necessitam análise.

Os objetos referenciados pelo StarBasic no LibreOffice são diferentes dos objetos do Excel.

Por exemplo a planilha plan1 é chamada no LibreOffice pela linha

oSheet = ThisComponent.getSheets.getByName("plan1")

enquanto que no Excel é

oSheet = Sheet("plan1")

Há um modo de compatibilidade experimental no LibreOffice que permite interpretar o VBA com limitações. Macros simples podem vir a funcionar sem modificações, porém macros mais complexas quase sempre requerem ajustes mesmo no modo de compatibilidade. Um caso de falha sistemática é a chamada de caixas de diálogo (apesar da própria caixa de diálogo ser compatível com o Excel).

O modo de compatibilidade é acionado com a instrução abaixo, colocada no topo do módulo das macros.

Option VBASupport 1

Ademais, tenho notado que ficheiros Excel com macros acionadas por botões perdem o vínculo entre os botões e a macro no LibreOffice, sendo necessário restabelecer a ligação entre os dois.

Não menos importante, ao converter as macros Excel para LibreOffice, é (quase) impossível manter o formato de arquivo xls/xlsx. Será obrigatório salvar o documento no formato ODS, nativo do LibreOffice.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

Estatísticas

Perguntadas: 2013-04-04 13:13:24 +0200

Lidas: 1,166 vezes

Última atualização: Apr 04 '13