Erro de tempo de execução-2147188160 na ActiveWindow ou ActivePresentation chamar no PowerPoint

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 285472
Sintomas
Quando você tenta executar um Microsoft Visual Basic for Applications macro que cria ou abre uma apresentação do Microsoft PowerPoint, você receberá uma mensagem de erro semelhante a seguinte mensagem de erro:
Erro em tempo de execução '-2147188160 (80048240)':

Aplicativo (membro desconhecido): solicitação inválida. Não há nenhuma janela de documento ativa no momento.
A mesma macro será executada sem erros no Microsoft Office 97.
Causa
Esse comportamento é causado por usando qualquer propriedade ActiveWindow do PowerPoint ou ActivePresentation, método ou evento quando o programa do PowerPoint não estiver visível. O seguinte código de exemplo será causar esse erro.
Sub A()    Dim oPpt As PowerPoint.Application    Set oPpt = New PowerPoint.Application    oPpt.Presentations.Add    oPpt.Presentations(1).Slides.Add 1, ppLayoutBlank    'The following line causes the run-time error    msgbox oPpt.ActiveWindow.CaptionEnd Sub				
Observação esta mensagem de erro não ocorre no Microsoft PowerPoint 97.
Como Contornar
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Para contornar esse comportamento, adicione as seguintes linhas de código uma vez em qualquer procedimento sub antes de quaisquer chamadas ActiveWindow ou ActivePresentation.
    If PowerPoint.Application.Version >= 9 Then        'window must be visible        PowerPoint.Application.Visible = msoTrue    End If				
esse código torna PowerPoint visível para o Microsoft PowerPoint 2000 e versões posteriores do PowerPoint. PowerPoint 97 não precisa ser tornar visível.

O código de exemplo mencionada na seção "Causa" muda para o código a seguir.
Sub A()    Dim oPpt As PowerPoint.Application    Set oPpt = New PowerPoint.Application    oPpt.Presentations.Add    oPpt.Presentations(1).Slides.Add 1, ppLayoutBlank    If oPpt.Version >= 9 Then        'window must be visible        oPpt.Visible = msoTrue    End If    oPpt.ActiveWindow.View.GotoSlide 1End Sub				
Observação essa solução alternativa pode não funcionar para o Microsoft Office PowerPoint 2007.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
PPT2002 PPT2007

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 285472 - Última Revisão: 06/08/2007 23:09:54 - Revisão: 3.1

Microsoft Office PowerPoint 2007, Microsoft PowerPoint 2002 Standard Edition

  • kbmt kbbug kberrmsg kbpending KB285472 KbMtpt
Comentários