Jump to content

Recommended Posts

Posted

Boas.

Tenho um arquivo auto executável em Powerpoint salvo como 'apresentação.pps'.

Clicando no ícone deste arquivo a execução é perfeita.

Quero executá-lo como apresentação de Boas - vindas (1º imagem) antes da execução de um pequeno programa de auditoria em excel.

Para isso criei o código abaixo:

Private Sub UserForm_Initialize()
Dim appPowerPt As PowerPoint.Application 'Declara uma variável como aplicação PowerPoint.
Dim ppt As Object 'Declara uma variável como Objeto.

'Cria a Aplicação.
Set ppt = CreateObject("PowerPoint.Application")
'Torna o objeto criado visível.
ppt.Visible = True
'Abre ou exibe o documento contido no caminho indicado.
ppt.Image.Open "C:\Documents and Settings\Edison\Meus documentos\Relatorio_Financeiro\Nova Alteração em 1_4_12\apresentação2.pps"


'Remove da memória o Objeto ou variável.
Set ppt = Nothing
End Sub

Mas quando tento executar este procedimento ocorre o descrito a seguir:

1) Surge somente o programa Microsoft Powerpoint (não executa o arquivo .pps)

2)Tenho que selecioná-lo em; Arquivo/Apresentação2.pps

3)Para executá-lo clico em; Apresentações/Exibir Apresentação.

4)Quando fecho o Microsoft Powerpoint, surge erro em tempo de execução'438'

O objeto não aceita esta propriedade ou método.

Na verdade a mensagem está oculta pelo MS Powerpoint.

Nota: o arquivo a ser aberto é do tipo bitmap (fotografia).

Gostaria da vossa ajuda para descobrir o que está errado no tratamento e execução deste arquivo e como resolvê-lo.

Edison

Posted

Boas

Tenta assim:

Shell ("rundll32.exe url.dll,FileProtocolHandler " & ("C:\Documents and Settings\Edison\Meus documentos\Relatorio_Financeiro\Nova Alteração em 1_4_12\apresentação2.pps"))

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Posted

OK  Andrepereira9 vou aplicar sua sugestão e retorno assim que possível.

Em tempo.

Executei sua sugestão. A única diferença é que já não apresenta o erro anterior(438).

Porém, a aplicação não consegue abrir o arquivo automaticamente.

Edison

Posted

Nem me dei ao trabalho de saber o que é ppt.Image

Mas, para abrires um ficheiro pps usa-se ppt.Presentations.Open

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Posted

Boas  FreiNando

Nem me dei ao trabalho de saber o que é ppt.Image

[/font]

Veja lá no código. Ele abre o arquivo imagem armazenado na variável ppt .

Mas, para abrires um ficheiro pps usa-se ppt.Presentations.Open

Experimentei sua sugestão substituí [.image] por [.Presentations] e continua com os mesmos erros declarados anteriormente.

O que mais poderia fazer?

Grato pela tua ajuda

Edison

Posted

Desculpa não responder antes,

1- ppt não é uma variável, é um objecto que aponta para uma aplicação PowerPoint;

2- O erro '438' era devido à utilização do membro inexistente Image;

3- A linha que declara appPowerPt não é necessária, e só pode existir se houver referência ao PowerPoint Object Library;

4- O PowerPoint não abre ficheiros de imagem, insere imagens nos slides;

5- Faz depuração ao código e diz em que linha dá erro;

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Posted

Boa noite aos colegas andrepereira9 e freinando.

Graças a vossa ajuda consegui resolver, posto abaixo o código corrigido:

          Private Sub Workbook_Open()

'Ao clicar no ícone Relatório Financeiro.xls,

'obrigatoriamente abrirá a janela de Boas Vindas e

'só mostrará o formulário FrmRecibos quando precionar ESC.

Dim ppt As Object 'Declara uma variável como Objeto.

'Cria a Aplicação.

Set ppt = CreateObject("PowerPoint.Application")

'Torna o objeto criado visível.

'ppt.Visible = True 'Não é necessário tornar visível o PowerPoint.

'Abre ou exibe o documento contido no caminho indicado.

Shell ("rundll32.exe url.dll,FileProtocolHandler " & ("C:\apresentação1.pps"))

FrmRecibos.Show

End Sub

Grato

Edison

Posted

Estás a misturar alhos com bogalhos

Ou fazes de um modo ou de outro:

Método 1:

Private Sub Workbook_Open()
    Shell ("rundll32.exe url.dll,FileProtocolHandler " & ("C:\apresentação1.pps"))
    FrmRecibos.Show
End Sub

Método 2:

Private Sub Workbook_Open()
    Dim ppt As Object
    Set ppt = CreateObject("PowerPoint.Application")
    ppt.Visible = True
    ppt.Presentations.Open "C:\apresentação1.pps"
   FrmRecibos.Show
End Sub

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Posted

OK FreiNando, vou experimentar o método 1 e posto o resultado.

Em tempo:

Experimentei os dois métodos e optei pelo primeiro por ser mais simples e não deixar visível o PowerPoint após a execução do arquivo.

No segundo método o PowerPoint tem que estar visível (não quero isso), caso contrário retorna erro.

Procurei me informar sobre o comando Shell e observei que ele 'Executa um programa executável ' conforme declarado na ajuda do VBA. Dessa forma tudo ficou mais simples, com a tua ajuda.

Andrepereira9, tu sugeriu esta função mas eu não soube aplicá-la, desculpe-me.

Muito obrigado. (tópico encerrado)

Edison

  • 2 years later...
Posted

Senhores,

Estou utilizando o comando :

Shell ("rundll32.exe url.dll,FileProtocolHandler " & ("C:\apresentação1.pps"))

mas gostaria de deletar alguns slides, qual seria o comando para deleter os slides ?

Tentei rodar a sequencia de comandos Set ppt = CreateObject("PowerPoint.Application"), mas o excel apresentou erro no activex, alguém ja viu isso ?

Posted

Boa tarde colega.

Este tópico já foi encerrado, mas quando criei meu aplicativo o projeto em Powerpoint já estava pronto.

Você já tentou recriar seu Powerpoint somente com os slides desejados e inseri-los da maneira descrita?

Edison

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.