Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Olá Olnei,

Já pensou na possibilidade de usar o Google Docs?... Lá da para você criar um formulário e depois 
de preenchido obter o resultado em ODF,XLS, etc.
http://www.google.com/google-d-s/intl/pt-PT/tour1.html

 

Até mais,
Lucas Filho
Open-Ce Tecnologias e Serviços
http://www.open-ce.com.br
Hazime - Art Digital
http://hazime-ad.blogspot.com
Imagem Pix - Curso de fotografia grátis
http://imagempix.blogspot.com

Agradecemos a Deus por tudo


----- Mensagem original -----
De: Olnei <olneiaa@yahoo.com.br>
Para: usuarios@pt-br.libreoffice.org
Cc: 
Enviadas: Quinta-feira, 20 de Outubro de 2011 14:52
Assunto: Re: [pt-br-usuarios] Como vincular células em duas planilhas?

Caro João Alberto,

A sua solução me parece que vai na linha do que eu preciso. Como não 
tenho muita intimidade com macros, vou ler um pouco sobre elas para 
tentar implementar aqui.
Como tenho aprendido com comunidade!
Muito obrigado a todos.
Abção.

Atenciosamente,

Olnei A Araujo
Contagem MG
Linux user # 484050
Ubuntu user # 26374
2007-2011 @olneiaa
*ubuntu*linux for human beings
www.ubuntu-br.org <javascript:void(0);>


Em 20-10-2011 09:38, João Alberto Garcia escreveu:








Um pouco de conversa e uma sugestão...:
No Excel, muitos anos atrás descobri uma função que ligava dois arquivos, um era formulários e 
você podia distribuir para pessoas e elas te devolverem preenchidos, então você o colocava em tua 
máquina e puxava os dados para outro arquivo que era uma planilha, funcionando como banco de 
dados.
Quando migrei para o BrOffice, tentei fazer algo parecido mas como tinha e tenho limitação em 
programação: preparei o formulário numa planilha,  botei para rodar o gravador de macros: copiei 
os dados de b1, b2, b3... fui para a planilha dois, inseri uma linha logo no início da planilha, 
mandei colar especial, marquei transpor e pronto. Salvei a macro. depois dei uma incrementada. 
Mas a minha idéia era transformar em um formulário no futuro. Como não achei um jeito de carregar 
temporariamente um figura por um link previamente digitado numa célula, abandonei o projeto (por 
um tempo). Agora fui dar uma olhada no arquivo para enviar um exemplo mas minha macro não 
funcionou mais. Acho que a fiz no Broffice 2.(alguma coisa).
Alguém sabe por que isto aconteceu (a macro não funcionar mais)?

Mas tentando ajudar o amigo, arrumei um tempinho e refiz as gravações, como não entendo de 
macros, tive algumas dificuldades. Pois na gravação de macros ela não leva muito em consideração 
o pulo de uma planilha a outra criando algumas dificuldades. Bom, por isso separei em etapas e 
revisei as macros.
Enfim, explicando:1- abri um novo arquivo no calc;coloquei dados nas linhas das tabelas 
a1,a2,a3,a4,a5;botei para gravar a macro;selecionei as linhas a1 até a5;recortar;interrompi a 
macro;salvei com um nome;2-tornei a mandar gravar macro;cliquei na planilha2;interrompi a 
macro;salvei ....3- (aqui estou na Planilha2)tornei a mandar gravar a macro;cliquei com o direito 
do mouse na beira da linha a1;inseri uma linha;cliquei com o esquerdo do mouse na primeira célula 
para tirar o selecionado e escolhi: "colar especial", deixei marcado somente números e texto, 
marquei transpor e então colei os dados;interrompi a gravação da macro;salvei...;
fui testar e estudar cada uma;mudei alguma coisas como colocar o nome das planilhas junto ao 
endereçamento das células pois isto dava problema dependendo de onde (planilha eu fosse executar 
a macro) (aliás, o macro ou a macro?);
4- No final, coloquei para gravar macro novamente e executei cada uma da três macros anteriores e 
pimba! Deu certo! e criei uma macro para rodar as três macros anteriores juntas. Creio, que dá 
para fazer uma só, mas agora já foi tempo de mais.)
Só tenho dúvida se num determinado dia em que se for fazer a digitação das células na hora de 
executar as macros o colar especial estará somente com as opções (texto e números e transpor 
corretamente marcados, mas, na pior das hipóteses, isso poderá ser feito manualmente uma vez 
antes de executar a macro). O próximo para seria colocar uma figura e associá-la a esta macro.
Não sei se isto resolveria teu problema, aliás, se cada um fosse contar das gambiarras que faz 
para "quebrar um galho" dava pano para a manga, mas não sei se isto valeria para uma edição da 
revista ou para criar um histórico das necessidades de uso da Suíte. Eu, por exemplo gostaria 
muito de poder fazer um formulário com foto (incorporação relativa, sem anexar)no Calc a exemplo 
do Writer. Então, jamais usaria o Base.
Abaixo vai como ficaram as 4 macros nos meus testes. Você pode simplesmente colar e executar para 
testar, se quiser. Mas o melhor é você fazer em tua máquina mesmo.
AbraçosJoão Alberto___________________

sub dadoscortadosrem ----------------------------------------------------------------------rem 
define variablesdim document   as objectdim dispatcher as objectrem 
----------------------------------------------------------------------rem get access to the 
documentdocument   = ThisComponent.CurrentController.Framedispatcher = 
createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------dim args1(0) as new 
com.sun.star.beans.PropertyValueargs1(0).Name = "ToPoint"args1(0).Value = "Planilha1.A$1:$A$8"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:Cut", "", 0, Array())

end sub

sub dadostranspostosrem ----------------------------------------------------------------------rem 
define variablesdim document   as objectdim dispatcher as objectrem 
----------------------------------------------------------------------rem get access to the 
documentdocument   = ThisComponent.CurrentController.Framedispatcher = 
createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------dim args1(0) as new 
com.sun.star.beans.PropertyValueargs1(0).Name = "Nr"args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "Planilha2.$A$1", 0, args1())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:InsertRows", "", 0, Array())
rem ----------------------------------------------------------------------dim args3(0) as new 
com.sun.star.beans.PropertyValueargs3(0).Name = "ToPoint"args3(0).Value = "Planilha2.$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem ----------------------------------------------------------------------dim args4(5) as new 
com.sun.star.beans.PropertyValueargs4(0).Name = "Flags"args4(0).Value = "SV"args4(1).Name = 
"FormulaCommand"args4(1).Value = 0args4(2).Name = "SkipEmptyCells"args4(2).Value = 
falseargs4(3).Name = "Transpose"args4(3).Value = trueargs4(4).Name = "AsLink"args4(4).Value = 
falseargs4(5).Name = "MoveMode"args4(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4())
rem ----------------------------------------------------------------------dim args5(0) as new 
com.sun.star.beans.PropertyValueargs5(0).Name = "Nr"args5(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args5())
rem ----------------------------------------------------------------------dim args6(0) as new 
com.sun.star.beans.PropertyValueargs6(0).Name = "Nr"args6(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args6())

end sub

sub irplanilharem ----------------------------------------------------------------------rem 
define variablesdim document   as objectdim dispatcher as objectrem 
----------------------------------------------------------------------rem get access to the 
documentdocument   = ThisComponent.CurrentController.Framedispatcher = 
createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------dim args1(0) as new 
com.sun.star.beans.PropertyValueargs1(0).Name = "Nr"args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

end sub

sub transporsemvincularrem 
----------------------------------------------------------------------rem define variablesdim 
document   as objectdim dispatcher as objectrem 
----------------------------------------------------------------------rem get access to the 
documentdocument   = ThisComponent.CurrentController.Framedispatcher = 
createUnoService("com.sun.star.frame.DispatchHelper")
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:Cut", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:RunMacro", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:InsertRows", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:RunMacro", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:RunMacro", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:InsertRows", "", 0, Array())
rem 
----------------------------------------------------------------------dispatcher.executeDispatch(document,
 ".uno:RunMacro", "", 0, Array())

end sub

                           

-- 
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+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
  usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

-- 
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+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
  usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Context


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.