fiz assim e funcionou:
criei um arquivo teste.odb
criei uma nova biblioteca MyLibrary em teste.odb - para isso vá em :
organizador de macros do BROffice Basic.
criei na biblioteca Standard o diálogo de nome Dlg1,
com um Label - nome: Lblres , rótulo: Label1
e um CommandButton, nome: CommandButton1,
neste botão
associei ao evento (Ao executar ação), a macro:
MyLibrary.Module1.troca
executei a macro dlgcalc
e voilá!
códigos abaixo:
Sub Main
dlgcalc
End Sub
sub troca
Dim LblRes As Object
DialogLibraries.LoadLibrary("Standard")
oDialogo=createUnoDialog(DialogLibraries.Standard.Dlg1)
LblRes=oDialogo.getControl("LblRes")
LblRes.Text="TROCADO !!!"
oDialogo.Execute()
end sub
Em 12 de agosto de 2011 09:22, Noelson Duarte <[email protected]> escreveu:
> Olá Adam,
>
> Não vi a chamada ao método execute() na macro dlgcalc. Então, essa chamada
> ocorre noutra rotina, é isto? Caso positivo você deve reorganizar seu
> código, por exemplo, a variável LblRes é LOCAL e as alterações tem efeito
> APENAS dentro da rotina dlgcalc.
>
> Outras questões:
> - a rotina dlgcalc foi definida em "MyLibrary"?
> - em qual container a bilbioteca "MyLibrary" está localizada? Caso esteja
> num nível superior você deve carregar a biblioteca com o comando:
>
> GlobalScope.DialogLibraries.loadLibrary ( ... )
>
> No LibreOffice, formulários e caixas de diálogos são objetos completamente
> diferentes e nem sempre há coincidência nos nomes dos métodos.
>
> Para inspecionar os objetos da API, recomendo o uso do MRI ou do XRay.
>
> Att.
> --
> Noelson
>
>
> Em 12 de agosto de 2011 06:41, rogerio dandrea <[email protected]
> >escreveu:
>
> > Oi, se for usar o Form.reload() , Tenta primeiro declarar a variavel
> como
> > global , que acredito que pode funcionar
> >
> > Em 11 de agosto de 2011 17:39, Adam Fabricio Silveira Silva <
> > [email protected]> escreveu:
> >
> > > Ja está criada a biblioteca, o dialogo e o rotulo. Normal.. o Dialogo
> já
> > > está sendo executado. quando eu clicar no botão ele chama a sub-rotina
> > > dlgcalc.
> > > Porem ao termino da sub-rotina o rótulo não atualiza o seu valor para
> > > "teste".
> > >
> > > Estava pensando em usar o comando que o rogerio usou mas deu erro. o
> > > Form.reload(),
> > >
> > > Obrigado
> > >
> > > --
> > > Adam Fabricio Silveira Silva
> > > Companhia do Metropolitano de São Paulo - Metrô
> > > Técnico de Manutenção Corretiva
> > > Tel: 3444-1377 PAT
> > > E-mail: [email protected]
> > >
> > >
> > > > Olá Adam,
> > > >
> > > > Você precisa de:
> > > > - uma biblioteca chamada "Mylibrary"
> > > > - nesta biblioteca, uma caixa de diálogo chamada "Dlg1"
> > > > - nesta cx de diálogo, um rótulo chamado "LblRes"
> > > >
> > > > Dito isto, o rótulo será alterado apenas durante a exibição da caixa
> de
> > > > diálogo. Para isto, acrescente a linha abaixo no final da rotina:
> > > >
> > > > oDialogo.execute()
> > > >
> > > > Att.
> > > >
> > > > --
> > > > Noelson
> > > >
> > > >
> > > > Em 11 de agosto de 2011 13:14, Adam Fabricio Silveira Silva <
> > > > [email protected]> escreveu:
> > > >
> > > >> Olá inicialmente estou tentando apenas através de uma macro mudar o
> > > >> valor
> > > >> do Label e não deu certo. Ele executa a macro certo porem a caixa de
> > > >> dialogo
> > > >> não atualiza o valor. O código esta a seguir:
> > > >> *sub dlgcalc
> > > >> Dim LblRes As Object
> > > >> DialogLibraries.LoadLibrary("**Mylibrary")
> > > >> oDialogo = createUnoDialog(**
> > > >> DialogLibraries.Mylibrary.**Dlg1)
> > > >> LblRes = oDialogo.getControl("LblRes")
> > > >> LblRes.Text = "teste"
> > > >> end sub
> > > >>
> > > >>
> > > >> Obrigado,
> > > >> *
> > > >>
> > > >> +-----------------------------**----------------+
> > > >> |Adam Fabricio Silveira Silva |
> > > >> |Cia do Metropolitano de São Paulo - Metrô |
> > > >> |Técnico de Manutenção Corretiva - MTR/MRN |
> > > >> |Tel: 3444-1373/1442 - (86) 373 PAT - 16795 |
> > > >> |Base Tiradentes - 31792000 - Ramal 15239 |
> > > >> |E-mail: [email protected] |
> > > >> +-----------------------------**----------------+
> > > >>
> > > >>
> > > >> Em 11/8/2011 08:50, rogerio dandrea escreveu:
> > > >>
> > > >> Oi Adam, este é o problema, não encontrei em lugar algum...rs
> fiquei
> > > >>> quebrando a cabeça e procurando diversos exemplos, e a maioria da
> > > >>> informação
> > > >>> foi em ingles(sem problemas com isto), mas que não funcionavam no
> > > >>> libreoffice.(exemplos de versoes antigas do openoffice).
> > > >>> Recomendo o livro do pintonyak,
> > > >>>
> > > >>> http://www.pitonyak.org/OOME_**3_0.odt<
> > > http://www.pitonyak.org/OOME_3_0.odt>
> > > >>>
> > > >>> me mande o seu script que podemos ver se dou um help.
> > > >>>
> > > >>> Em 11 de agosto de 2011 08:32, Adam Fabricio Silveira Silva<
> > > >>> [email protected]> escreveu:
> > > >>>
> > > >>> Olá Rogerio Dandrea!
> > > >>>>
> > > >>>> Onde você achou essa solução. É algo parecido o que eu quero fazer
> > no
> > > >>>> LibreO. Eu gostaria de escrever um número em uma caixa de número,
> e
> > ao
> > > >>>> clicar em um botão, ele copiar esse valor em uma caixa de Rótulo.
> > > >>>>
> > > >>>> Se tiver algum material ou algo que possa me ajudar nessa jornada
> eu
> > > >>>> agradeço.
> > > >>>>
> > > >>>> Obrigado,
> > > >>>>
> > > >>>> +-----------------------------****----------------+
> > > >>>> |Adam Fabricio Silveira Silva |
> > > >>>> |Cia do Metropolitano de São Paulo - Metrô |
> > > >>>> |Técnico de Manutenção Corretiva - MTR/MRN |
> > > >>>> |Tel: 3444-1373/1442 - (86) 373 PAT - 16795 |
> > > >>>> |Base Tiradentes - 31792000 - Ramal 15239 |
> > > >>>> |E-mail: [email protected] |
> > > >>>> +-----------------------------****----------------+
> > > >>>>
> > > >>>>
> > > >>>> Em 10/8/2011 10:11, rogerio dandrea escreveu:
> > > >>>>
> > > >>>> Form=Event.Source.Model.Parent
> > > >>>>
> > > >>>>> nome = InputBox("ENTRE COM AS INICIAIS DO NOME")
> > > >>>>> Form.Filter= "CLIENTE3.Nome LIKE '"&nome&"%'"
> > > >>>>> Form.ApplyFilter=True
> > > >>>>> Form.reload()
> > > >>>>> End Sub
> > > >>>>>
> > > >>>>> --
> > > >>>> Você está recebendo e-mails da lista
> [email protected]
> > > >>>> # Informações sobre os comandos disponíveis (em inglês):
> > > >>>> mande e-mail vazio para
> > > >>>> usuarios+help@pt-br.**libreoff**ice.org<http://libreoffice.org>
> > > >>>> <usuarios%2Bhelp@pt-br.**libreoffice.org<
> > > usuarios%[email protected]>
> > > >>>> >
> > > >>>> # Cancelar sua assinatura: mande e-mail vazio para:
> > > >>>> usuarios+unsubscribe@pt-br.**l**ibreoffice.org
> > > >>>> <http://libreoffice.org>
> > > >>>> <usuarios%**2Bunsubscribe@pt-br.**libreoffice.org<
> > > usuarios%[email protected]>
> > > >>>> >
> > > >>>> # Arquivo de mensagens:
> > > >>>> http://listarchives.**libreoff**ice.org/pt-br/**<
> > > http://libreoffice.org/pt-br/**>
> > > >>>> usuarios/<http://listarchives.**libreoffice.org/pt-br/**usuarios/
> <
> > > http://listarchives.libreoffice.org/pt-br/usuarios/>
> > > >>>> >
> > > >>>>
> > > >>>>
> > > >>>>
> > > >> --
> > > >> Você está recebendo e-mails da lista [email protected]
> > > >> # Informações sobre os comandos disponíveis (em inglês):
> > > >> mande e-mail vazio para
> > > >> usuarios+help@pt-br.**libreoffice.org<
> > > usuarios%[email protected]>
> > > >> # Cancelar sua assinatura: mande e-mail vazio para:
> > > >> usuarios+unsubscribe@pt-br.**libreoffice.org<
> > > usuarios%[email protected]>
> > > >> # Arquivo de mensagens: http://listarchives.**
> > libreoffice.org/pt-br/**
> > > >> usuarios/ <http://listarchives.libreoffice.org/pt-br/usuarios/>
> > > >>
> > > >>
> > > >
> > > > --
> > > > Você está recebendo e-mails da lista [email protected]
> > > > # Informações sobre os comandos disponíveis (em inglês):
> > > > mande e-mail vazio para [email protected]
> > > > # Cancelar sua assinatura: mande e-mail vazio para:
> > > > [email protected]
> > > > # Arquivo de mensagens:
> > > > http://listarchives.libreoffice.org/pt-br/usuarios/
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Você está recebendo e-mails da lista [email protected]
> > > # Informações sobre os comandos disponíveis (em inglês):
> > > mande e-mail vazio para [email protected]
> > > # Cancelar sua assinatura: mande e-mail vazio para:
> > > [email protected]
> > > # Arquivo de mensagens:
> > > http://listarchives.libreoffice.org/pt-br/usuarios/
> > >
> > >
> >
> > --
> > Você está recebendo e-mails da lista [email protected]
> > # Informações sobre os comandos disponíveis (em inglês):
> > mande e-mail vazio para [email protected]
> > # Cancelar sua assinatura: mande e-mail vazio para:
> > [email protected]
> > # Arquivo de mensagens:
> > http://listarchives.libreoffice.org/pt-br/usuarios/
> >
> >
>
> --
> Você está recebendo e-mails da lista [email protected]
> # Informações sobre os comandos disponíveis (em inglês):
> mande e-mail vazio para [email protected]
> # Cancelar sua assinatura: mande e-mail vazio para:
> [email protected]
> # Arquivo de mensagens:
> http://listarchives.libreoffice.org/pt-br/usuarios/
>
>
--
Você está recebendo e-mails da lista [email protected]
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para [email protected]
# Cancelar sua assinatura: mande e-mail vazio para:
[email protected]
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/