Pergunte aqui
1

O que tem de errado com essa macro?

perguntadas 2016-05-12 16:28:14 +0100

imagem do gravatar de Beto

updated 2016-05-15 17:01:38 +0100

Olá pessoal, esta macro (não é de minha autoria) é para restaura transformar uma imagem em um link. Ela dá erro e fecha o libreofice quando executada, em versões anteriores ela funcionava. em baixo a macro que dá o erro aqui o arquivo caso queira testar. A Macro main executa sem problemas e transforma o link em imagem e a macro RestoreLinks apaga a imagem e restitui o link (esta, depois da versão 3 do libre dá erro fechando o Libreoffice e dálhe recuperação de arquivo).

Sub RestoreLinks
oDoc = ThisComponent
oSheet = oDoc.CurrentController.ActiveSheet
Images = oSheet.DrawPage
ic = Images.Count-1

SI = oDoc.CurrentController.StatusIndicator
SI.reset
SI.start(cStr(Images.Count), Images.Count)

For i=ic to 0 step -1
    If Images(i).supportsService("com.sun.star.drawing.GraphicObjectShape") then
        Parameters = Split(Images(i).Name,"##")
        If ubound(Parameters)=1 then
            'CellName = Parameters(0)
            ImageURL = Parameters(1)
            Cell = Images(i).Anchor 'oSheet.getCellRangeByName(CellName)
            Cell.String = ImageURL
            Images(i).dispose()
        Endif
    Endif
    SI.setValue(ic-i+1)
Next
SI.end
End Sub

Obrigado por qualquer ajuda.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2016-05-15 03:01:51 +0100

imagem do gravatar de Grafeno

Substitua a linha:

Images(i).dispose()

por

Images.Remove(Images(i))


Parece que o método dispose() está provando um crash no LibreOffice.


Atte,
Grafeno

editar assinalar como ofensivo Excluir Link mais

Comentários

Obrigado, Amigo!!

imagem do gravatar de BetoBeto ( 2016-05-15 16:31:16 +0100 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2016-05-12 16:28:14 +0100

Lidas: 144 vezes

Última atualização: May 15 '16