Microsoft KB Archive/285472

= Run-time error -2147188160 on ActiveWindow or ActivePresentation call in PowerPoint =

Article ID: 285472

Article Last Modified on 6/8/2007

-

APPLIES TO


 * Microsoft Office PowerPoint 2007
 * Microsoft PowerPoint 2002 Standard Edition

-



This article was previously published under Q285472





SYMPTOMS
When you try to run a Microsoft Visual Basic for Applications macro that creates or opens a Microsoft PowerPoint presentation, you may receive an error message that resembles the following error message:

Run-time error '-2147188160 (80048240)':

Application (unknown member): Invalid request. There is no currently active document window.

The same macro runs without error in Microsoft Office 97.



CAUSE
This behavior is caused by using any PowerPoint ActiveWindow or ActivePresentation property, method, or event when the PowerPoint program is not visible. The following sample code will cause this error. 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.Caption

End Sub Note This error message does not occur in Microsoft PowerPoint 97.



WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

To work around this behavior, add the following lines of code once in any sub procedure before any ActiveWindow or ActivePresentation calls. If PowerPoint.Application.Version >= 9 Then 'window must be visible PowerPoint.Application.Visible = msoTrue End If This code makes PowerPoint visible for Microsoft PowerPoint 2000 and for later versions of PowerPoint. PowerPoint 97 does not need to be made visible.

The sample code that is mentioned in the &quot;Cause&quot; section would change to the following code. 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 1 End Sub Note This workaround may not work for Microsoft Office PowerPoint 2007.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.

Additional query words: PPT2002 PPT2007

Keywords: kbbug kberrmsg kbpending KB285472

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.