Notifications
Clear all

Editar propriedades de um Shockwave Flash Object

3 Posts
2 Usuários
0 Reactions
1,360 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal!

Poderiam me ensinar como alterar as propriedades de um Shockwave Flash Objetc via VBA, por favor?

Vou explicar para que estou precisando disso: Tenho uma macro que realiza um processo de atualização nos meus relatórios e demora um certo tempo. Para dar um cara mais profissional, coloquei um Shockwave Flash carregando um swf com aqueles gifs animados de "carregando".

Eu preciso exibir o Shockwave antes de iniciar o processo de atualização de escondê-lo quando terminar.

A única forma que encontrei de interagir com esse objeto, foi usando a propriedade Shapes de uma Worksheet:

ActiveSheet.Shapes("Shockwave Flash").Visible = -0

Entretanto, não está funcionado na hora de setar para Visible = 0. Alguma propriedade do Flash, talvez a auto load, não está permitindo o objeto ser escondido. Talvez se eu conseguir editar a propriedade Visible do Shockwave, ao invés de alterar a do Shape, funcione.

Alguém sabe como acessar as propriedades do objeto Shocwave Flash?

Se alguém souber como fazer um "carregando" animado usando outro solução, também será bem vinda.

Desde já agradeço!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/12/2009 8:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

polozi, quando voce adiciona um activex em uma planilha, é criado um objeto para o mesmo que pode ser utilizado via VBA para interagir com seus membros.
Para acessar as propriedades dos objetos, va ate o módulo de codigo da planilha e localize o objeto na caixa "Objetos" no VBA.
Para interagir com o objeto externamente por outra rotina, ha duas formas de fazer isso

A primeira é usar a coleção Shapes que vc citou porem para interagir com o obejto via Shape vc deve usar a propriedade .OLEFormat.Object

Exemplo

ActiveSheet.Shapes("ShockwaveFlash1").OLEFormat.Object.Visible = 0

Uma outra forma é chamar o objeto explicitamente da planilha:

Exemplo

Plan1.ShockwaveFlash1.Visible = 1

Obs: Plan1 é o nome do objeto da planilha. Diferente de Sheets("Plan1")

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/12/2009 7:19 pm
(@mulleresposito)
Posts: 1
New Member
 

Olá pessoal,

Estou com um problema no VBA. Coloquei um Shockwave Flash Object em um form do VBA, nele tem uma animação que muda conforme as ações que eu faço no form. Em algumas animações surge um balão de fala, o problema é que a fala não esta incorporada a animação, a fala(string) vem de uma célula de uma planilha. Então pra fazer essa sincronização eu pensei em botar um "Label" posicionado bem em cima do balão de fala pra ir puxando as falas da planilha. O Problema é que o Objeto Flash fica posicionado por cima de tudo, já tentei enviar ele pra trás mas ele não vai. Alguém sabe se tem com posicionar algum objeto por cima do objeto flash?!
Outra dúvida que eu tinha era de como tirar o fundo do objeto flash, deixar ele transparente. Tentei mudar a propriedade WMode pra "Transparent" mas ao executar da erro em tempo de execução.

 
Postado : 19/10/2012 4:11 pm