Simptomi
Kada pokušate pokrenuti makronaredbu programa Microsoft Visual Basic for Applications koja stvara ili otvara prezentaciju programa Microsoft PowerPoint, možda će vam se prikazati poruka o pogrešci koja nalikuje sljedećoj poruci o pogrešci:
Pogreška prilikom izvođenja '-2147188160 (80048240) ': aplikacija (Nepoznati član): zahtjev nije valjan. Trenutno nije aktivan prozor aktivnog dokumenta.
Ista makronaredba izvodi se bez pogrešaka u programu Microsoft Office 97.
Uzrok
To je ponašanje uzrokovano pomoću bilo kojeg značajke programa PowerPoint ActiveWindow ili ActivePresentation, načina ili događaja kada program programa PowerPoint nije vidljiv. Sljedeći ogledni kod uzrokovat će tu pogrešku.
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
Napomena Ova se poruka o pogrešci ne javlja u programu Microsoft PowerPoint 97.
Zaobilazno rješenje
Microsoft nudi primjere programiranja samo za ilustraciju, bez jamstva ili izražena ili implicirana. To obuhvaća, ali nije ograničeno na implicirana jamstva o prodaji ili prikladnosti za određenu namjenu. U ovom se članku pretpostavlja da ste upoznati s programskim jezikom koji se pokazuje i alatima koji se koriste za stvaranje i ispravljanje pogrešaka u postupcima. Microsoftovi inženjeri za podršku mogu pomoći u objašnjavanju funkcionalnosti određenog postupka. Međutim, oni neće izmijeniti ove primjere radi pružanja dodane funkcionalnosti ili konstrukcijski postupci koji zadovoljavaju vaše specifične preduvjete. Da biste zaobišli takvo ponašanje, jedanput u bilo kojem podpostupku dodajte sljedeće retke koda prije bilo kojeg servisa ActiveWindow ili ActivePresentation.
If PowerPoint.Application.Version >= 9 Then 'window must be visible PowerPoint.Application.Visible = msoTrue End If
Ovaj kod omogućuje PowerPoint vidljiv za Microsoft PowerPoint 2000 i za novije verzije programa PowerPoint. PowerPoint 97 ne mora biti vidljiv. Ogledni kod koji se spominje u odjeljku "uzrok" promijenit će se u sljedeći kod.
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
Napomena Ovo zaobilazno rješenje možda neće funkcionirati u programu Microsoft Office PowerPoint 2007.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".