Ative a função Gravar Macro no Calc do BrOffice 3

Iniciado por Frank K Hosaka, 31 de Maio de 2011, 10:02

tópico anterior - próximo tópico

Frank K Hosaka

Ainda não testei a dica da página http://soplanilhas.blogspot.com/2011/03/opcao-gravar-macro-desabilitada-no.html que consiste em selecionar a opção Ativar Recursos Experimentais (Instáveis) que você encontra na orelha Geral do Menu Ferramentas > Opções. Vou testar logo mais à noite, e de lá vou acrescentar mais comentários sobre o tema.

Frank K Hosaka

#1
Usando o recurso do gravador de macro, consegui montar a minha primeira macro no BrOffice Calc. A listagem do código a seguir só funciona se você mudar a sintaxe da fórmula para Excel R1C1, através do Menu Ferramentas > Opções > Br Office Calc > Fórmula > Sintaxe da Fórmula. Eis o código:

sub Main
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim arg(0) as new com.sun.star.beans.PropertyValue
dim i as integer
for i = 1 to 10
 arg(0).Name = "StringName"
 arg(0).Value = str(i)
 dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, arg())
 dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, arg())
 arg(0).Value = "x"
 dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, arg())
 dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, arg())
 arg(0).Value = "2"
 dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, arg())
 dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, arg())
 arg(0).Value = "="
 dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, arg())
 dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, arg())
 arg(0).Value = "=RC[-4]*RC[-2]"
 dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, arg())
 dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, arg())
 for j=1 to 4:dispatcher.executeDispatch(document, ".uno:GoLeft", "", , arg()):next j
next i
end sub