Incompatibilidade entre Libreoffice 3 e 4 com OLE

perguntadas 2015-08-05 00:06:25 +0200

imagem do gravatar de Josir

updated 2019-09-30 19:21:46 +0200

Faço integração do LibreOffice via Delphi utilizando OLE. Essas rotinas já funcionam a mais de 10 anos e algumas são bem complexas. Entretanto com a chegada do LibreOffice 4, os programas pararam de funcionar por conta de um erro que não estou conseguindo solucionar.

O erro acontece quando eu tento gravar em nova Sheet criada em tempo de runtime.

Quando eu tento gravar valores em uma célula, o LibreOffice 4 dá erro de IndexOutOfBoundsException

Document.Sheets.CopyByName('Base', 'Nova, 4);
Planilha := Document.Sheets.GetByIndex(4);
Planilha.getCellByPosition(Col, Lin).String := Value;

Parece que a função getCellByPosition se perde ao tentar gravar na planilha recém criada.

O triste é que LibreOffice 3, a mesma rotina funciona perfeitamente e por conta desse erro, não posso atualizar o LibreOffice de mais de 50 usuários!

Alguém tem ideia de como resolver o problema?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Não é uma resposta ao seu problema, mas houve uma mudança de API na virada do 3.x para o 4.0: https://wiki.documentfoundation.org/R...

imagem do gravatar de OlivierOlivier ( 2015-08-05 11:16:17 +0200 )editar