Macro com sub-rotina

Como acertar esta Macro com sub-rotina ?

   sub Executar
        rem ===> ir para planilha 1 celula c5
        IrParaCelula 1, "$c$5"
   end sub
        
   sub IrParaCelula   ( x as integer, y as string)       rem <=== como definir aqui ?
        rem ======================================================================
        rem define variables
        dim document   as object
        dim dispatcher as object
        rem ----------------------------------------------------------------------
        rem get access to the document
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
        rem ----------------------------------------------------------------------
        dim args1(0) as new com.sun.star.beans.PropertyValue
        args1(0).Name = "Nr"
        args1(0).Value = x      rem <=== x é o numero da planilha
        dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
        rem ----------------------------------------------------------------------
        dim args2(0) as new com.sun.star.beans.PropertyValue
        args2(0).Name = "ToPoint"
        args2(0).Value = y      rem <==== y é a célula
        dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
   end sub

Olá. Não entendi o que deseja fazer. A macro não funciona? (Não posso testar o código no momento)

@Gilberto Schiavinatto,


O segundo argumento ( **y** ) foi declarado como ***string***, portanto, para a chamada funcionar é preciso entrar com o argumento entre aspas ( " " ).

Então uma chamada correta seria:

sub Executar
   rem ===> ir para planilha 1 celula c5
   IrParaCelula 1, "$c$5"       ' <== Aceita também "c5"
end sub

Atte,

Boa noite @Grafeno, falha minha na digitação na wiki, já esta assim e da o seguinte erro: Erro na sintaxe do BASIC. O símbolo IrParaCelula já esta definido de maneira diferente.

@grafeno, refis a macro em outro arquivo e funcionou, veja o teste: ----- https://dl.dropboxusercontent.com/u/107127435/ask.libreoffice/IrParaCelula.ods ----- só não entendi o erro que estava acusando!!!

Bem, se vc refez a macro e está funcionado, então está tudo certo. Rodando seu exemplo funcionou perfeitamente, como o esperado.

Só para finalizar, descobri o motivo do erro. Como fiz vários teste de macro, havia uma sobra, não apagada, com esta informação “IrParaCelula”. Obrigado @Grafeno.

Oi @Grafeno, gostaria de me comunicar diretamente contigo. Necessito de uma opinião sua antes de expor o assunto, poderia entrar em contato gilberto@schiavinatto.com Grato.

@Gilberto Schiavinatto, mandei o e-mail solicitado.

@Grafeno, até agora, nada recebido… nem no Span, nem Lixeira !

Ok, @Gilberto Schiavinatto, então tente me mandar um email: grafeno.o2[arroba]gmail.com