[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pt-br-usuarios] macros com referência relativa no Calc


Não testei, mas não basta apenas apagar as linhas que referenciam args1?
Bota uns comentários nelas e veja o que acontece...Como ele não vai ter uma
celula absoluta, talvez mova 2 vezes para baixo a partir da célula ativa,
como vc quer.

rem dim args1(0) as new com.sun.star.beans.PropertyValue
rem args1(0).Name = "ToPoint"
rem args1(0).Value = "$B$2"

rem dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

Em 22 de abril de 2018 13:18, Antonio Silva <aolinto.lst@gmail.com>
escreveu:

> Olá Gilvan
>
> Obrigado pela pronta resposta, ainda mais em um domingo.
>
> A macro que gravei segue abaixo. Ela faz o que quero mas sempre começa na
> mesma célula (B2) e não na célula ativa.
>
> Deve ser algo na referência args1(0).Value = "$B$2"
>
> O ideal seria que primeiro ele usasse a célula ativa: args1(0).Value =
> "ActiveCell"
>
> Minha planilha de exemplo é a seguinte:
>
>
>
>
> Obrigado,
>
> Antônio Olinto
>
> ================
> REM ***** BASIC *****
>
> sub teste2
> 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 = "ToPoint"
> *args1(0).Value = "$B$2"*
>
> dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
>
> rem ----------------------------------------------------------------------
> dim args2(1) as new com.sun.star.beans.PropertyValue
> args2(0).Name = "By"
> args2(0).Value = 1
> args2(1).Name = "Sel"
> args2(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())
>
> rem ----------------------------------------------------------------------
> dim args3(1) as new com.sun.star.beans.PropertyValue
> args3(0).Name = "By"
> args3(0).Value = 1
> args3(1).Name = "Sel"
> args3(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
>
> rem ----------------------------------------------------------------------
> dim args5(1) as new com.sun.star.beans.PropertyValue
> args5(0).Name = "By"
> args5(0).Value = 1
> args5(1).Name = "Sel"
> args5(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())
>
> rem ----------------------------------------------------------------------
> dim args6(1) as new com.sun.star.beans.PropertyValue
> args6(0).Name = "By"
> args6(0).Value = 1
> args6(1).Name = "Sel"
> args6(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args6())
>
> rem ----------------------------------------------------------------------
> dim args7(1) as new com.sun.star.beans.PropertyValue
> args7(0).Name = "By"
> args7(0).Value = 1
> args7(1).Name = "Sel"
> args7(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args7())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
>
> rem ----------------------------------------------------------------------
> dim args9(1) as new com.sun.star.beans.PropertyValue
> args9(0).Name = "By"
> args9(0).Value = 1
> args9(1).Name = "Sel"
> args9(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args9())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:ToggleMergeCells", "", 0,
> Array())
>
> rem ----------------------------------------------------------------------
> dim args11(1) as new com.sun.star.beans.PropertyValue
> args11(0).Name = "By"
> args11(0).Value = 1
> args11(1).Name = "Sel"
> args11(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args11())
>
> rem ----------------------------------------------------------------------
> dim args12(1) as new com.sun.star.beans.PropertyValue
> args12(0).Name = "By"
> args12(0).Value = 1
> args12(1).Name = "Sel"
> args12(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args12())
>
> rem ----------------------------------------------------------------------
> dim args13(1) as new com.sun.star.beans.PropertyValue
> args13(0).Name = "By"
> args13(0).Value = 1
> args13(1).Name = "Sel"
> args13(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args13())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:ToggleMergeCells", "", 0,
> Array())
>
> rem ----------------------------------------------------------------------
> dim args15(1) as new com.sun.star.beans.PropertyValue
> args15(0).Name = "By"
> args15(0).Value = 1
> args15(1).Name = "Sel"
> args15(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args15())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())
>
> rem ----------------------------------------------------------------------
> dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())
>
> rem ----------------------------------------------------------------------
> dim args18(1) as new com.sun.star.beans.PropertyValue
> args18(0).Name = "By"
> args18(0).Value = 1
> args18(1).Name = "Sel"
> args18(1).Value = false
>
> dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args18())
>
>
> end sub
>
>
>
>
>
> Em 22 de abril de 2018 12:33, Gilvan Vilarim <gilvan.vilarim@gmail.com>
> escreveu:
>
>> Não manjo muito de macros, mas ao gravar um teste eu vi que ele gera a
>> movimentação de forma relativa usando GoDown ou GoRight, por exmeplo.
>> Somente ao mesclar ele usa um intervalo absoluto. Veja o que ele gerou (eu
>> apenas digitei uns valores como 123 e 456 e depois mesclei duas celulas). O
>> pessoal aqui vai dar mais ideias.
>>
>
> ...
>
>>
>>
>> Em 22 de abril de 2018 12:12, Antonio Silva <aolinto.lst@gmail.com>
>> escreveu:
>>
>>> Olá pessoal
>>>
>>> Estou tentando fazer uma macro bem simples no Calc.
>>>
>>> A partir de uma célula ativa movo o duas células para baixo, recorto,
>>> movo
>>> uma célula para o lado direito e duas células para cima, colo, movo uma
>>> célula para direira, desmarco Mesclar, movo três células para esquerda,
>>> desmarco Mesclar, movo uma célula para direita e uma para baixo.
>>>
>>> No entanto isso deve ser feito de forma relativa. Não em uma célula
>>> determinada, mas a partir de uma célula ativa.
>>>
>>> Fiz muito esse tipo de macro no Excel mas há um bom tempo só uso o
>>> LibreOffice no Linux. Esta é a primeira vez que necessito fazer uma macro
>>> no Calc.
>>>
>>> Agradeço qualquer sugestão.
>>>
>>> Abraços e boa semana para todos.
>>>
>>> --
>>> Antônio Olinto
>>> São Paulo, Brasil
>>>
>>> --
>>> Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
>>> # Informações sobre os comandos disponíveis (em inglês):
>>> mande e-mail vazio para usuarios+unsubscribe@pt-br.libreoffice.org
>>> # Cancelar sua assinatura: mande e-mail vazio para:
>>> usuarios+unsubscribe@pt-br.libreoffice.org
>>> # Arquivo de mensagens: https://listarchives.libreoffi
>>> ce.org/pt-br/usuarios/
>>>
>>
>> --
>> /*
>> *Prof. Gilvan Vilarim*
>> Instituto Federal de Educação, Ciência e Tecnologia do Rio de Janeiro -
>> IFRJ
>> Federal Institute of Education, Science and Technology of Rio de Janeiro
>> http://www.gilvanvilarim.com.br/
>> */
>>
>


--
/*
*Prof. Gilvan Vilarim*
Instituto Federal de Educação, Ciência e Tecnologia do Rio de Janeiro - IFRJ
Federal Institute of Education, Science and Technology of Rio de Janeiro
http://www.gilvanvilarim.com.br/
*/

--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+unsubscribe@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: https://listarchives.libreoffice.org/pt-br/usuarios/

Follow-Ups:
Re: [pt-br-usuarios] macros com referência relativa no CalcAntonio Silva <aolinto.lst@gmail.com>
References:
[pt-br-usuarios] macros com referência relativa no CalcAntonio Silva <aolinto.lst@gmail.com>
Re: [pt-br-usuarios] macros com referência relativa no CalcGilvan Vilarim <gilvan.vilarim@gmail.com>
Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.