edsudani Posted April 22, 2012 at 08:05 PM Report #450578 Posted April 22, 2012 at 08:05 PM 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
Andrepereira9 Posted April 22, 2012 at 08:58 PM Report #450593 Posted April 22, 2012 at 08:58 PM 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.
edsudani Posted April 22, 2012 at 10:34 PM Author Report #450622 Posted April 22, 2012 at 10:34 PM 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
FreiNando Posted April 23, 2012 at 08:43 PM Report #450966 Posted April 23, 2012 at 08:43 PM 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
edsudani Posted April 24, 2012 at 12:30 AM Author Report #451034 Posted April 24, 2012 at 12:30 AM 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
FreiNando Posted April 24, 2012 at 07:17 PM Report #451221 Posted April 24, 2012 at 07:17 PM 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
edsudani Posted May 1, 2012 at 10:36 PM Author Report #452554 Posted May 1, 2012 at 10:36 PM 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
FreiNando Posted May 2, 2012 at 12:32 PM Report #452674 Posted May 2, 2012 at 12:32 PM 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
edsudani Posted May 4, 2012 at 04:19 PM Author Report #453144 Posted May 4, 2012 at 04:19 PM 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
ric.engenharia Posted March 31, 2015 at 02:46 PM Report #580601 Posted March 31, 2015 at 02:46 PM 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 ?
edsudani Posted April 3, 2015 at 04:07 PM Author Report #580763 Posted April 3, 2015 at 04:07 PM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now