Pergunte aqui
1

Variaveis Private e definição de Variáveis do objeto

perguntadas 2019-03-02 20:08:31 +0200

updated 2019-03-05 20:57:37 +0200

Quando é gerado uma macro com o gravador, todo o inicio dela é:

sub MacroQualquer
Dim document As Object
Dim dispatcher As Object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
.
.

Posso colocar fora da macro, servira para todas do módulo

Private document As Object, dispatcher As Object

A duvida é esta parte:

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Tem como definir fora da macro e servir para todas ?


Mas porque quero fazer isto, quando tenho dezenas de submacros, gostaria que elas ficassem o mais enxuta possível.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2019-03-03 18:20:13 +0200

imagem do gravatar de Grafeno

Boa tarde,

Se fizer isso "fora da macro" vai receber um erro de sintaxe do Basic. Atribuir objetos a variáveis somente é possível dentro dos blocos Sub ... End Sub e Function ... End Function.

Mas você pode iniciar essas variáveis numa macro associada ao evento "Ao abrir o documento". Sempre o arquivo for aberto, a macro executa e carrega os objetos que ficarão disponíveis para todos os módulos através das suas declarações.

Sub AoAbrirDocumento
   document   = ThisComponent.CurrentController.Frame
   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
End Sub

Ferramentas > Personalizar... > aba Eventos Descrição da imagem

Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

Ola @Geafeno, obrigado, funcionou muito bem.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-03-03 21:08:04 +0200 )editar

Ola @Grafeno, aparentemente estava funcionando, as macros que havia testado, ainda estavam com a informação, quando retirei não estão funcionando.

Erro de execução do BASIC.
Variável do objeto não definida.
imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-03-05 21:47:15 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-03-02 20:08:31 +0200

Lidas: 23 vezes

Última atualização: Mar 05