Centrum skryptów - Microsoft office

Jak skonfigurować program Power Point, aby po wydrukowaniu otrzymać materiały informacyjne, a nie slajdy?

Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

Jak skonfigurować program Power Point, aby po wydrukowaniu otrzymać materiały informacyjne, a nie slajdy?

Cześć Skrypciarze! Pytanie

Cześć, Skrypciarze! Jak skonfigurować opcje drukarki, aby zgodnie z ustawieniami domyślnymi wydrukowane pliki z programu Power Point były w formie materiałów informacyjnych, nie slajdów?

--OG

Cześć Skrypciarze! Odpowiedź

Cześć, OG. Osoba, która wymyśliła powiedzenie „szczęście nigdy nie puka dwa razy do tych samych drzwi” (nie mylić z listonoszem, tudzież akwizytorem) nie wzięła chyba nigdy pod uwagę takich osobistości jak Skrypciarze, którzy to w rok po wygraniu hiszpańskiej loterii (o wszystkich przekrętach podczas hiszpańskiej loterii można dowiedzieć się wiele na stronie Departamentu Stanu (j.ang.)) otrzymali kolejną szansę od losu, wygrywając niebagatelną sumę miliona dolarów w loterii organizowanej przez firmę Microsoft MS-WORD LOTTO LOTTERY (o przekrętach podczas tej loterii jeszcze nigdzie nie można poczytać).

Dziękujemy za gratulacje, nie jesteśmy jednak skąpi (no dobrze, może trochę) i chcielibyśmy się jakoś podzielić naszą wygraną z czytelnikami. Jednomyślnie stwierdziliśmy, że najbardziej na świecie ucieszyłby ich skrypt, dzięki któremu będą mogli zmienić opcje drukowania poprzez zmianę ustawień domyślnych, tak, aby naszymi wydrukami nie były slajdy, ale materiały informacyjne (po trzy na wydruk):

Const ppPrintOutputThreeSlideHandouts = 3



Set objPPT = CreateObject("PowerPoint.Application")

objPPT.Visible = True



Set objPresentation = objPPT.Presentations.Add

Set objSlide = objPresentation.Slides.Add(1,1)



Set objOptions = objPresentation.PrintOptions

objOptions.OutputType = ppPrintOutputThreeSlideHandouts

Parafrazując reklamę: „Konfigurowanie ustawień wydruku w programie Power Point. Bezcenne.”

Zaczynamy od zdefiniowania stałej (o jakże zachwycającej i wdzięcznej nazwie ppPrintOutputThreeSlideHandouts) i przypisania jej wartości 3. Tej stałej będziemy używać, aby poinstruować program Power Point, jakie opcje wydruku chcemy ustawić jako domyślne. To prowadzi nas do oczywistego pytania: „Jakie inne wartości można przypisać tu jako domyślne, czy istnieje jakaś lista?” Oczywiście, że istnieje, gdyby nie istniała nie zadalibyśmy przecież tego pytania retorycznego, bo głupio zadać sobie samemu pytanie i nie potrafić na nie odpowiedzieć. Oto nasza lista stałych i powiązanych z nimi wartości:

Stała:Wartość:
ppPrintOutputBuildSlides7
ppPrintOutputFourSlideHandouts8
ppPrintOutputNineSlideHandouts9
ppPrintOutputNotesPages5
ppPrintOutputOneSlideHandouts10
ppPrintOutputOutline6
ppPrintOutputSixSlideHandouts4
ppPrintOutputSlides1
ppPrintOutputThreeSlideHandouts3
ppPrintOutputTwoSlideHandout2

Po zdefiniowaniu stałej tworzymy wystąpienie obiektu PowerPoint.Application i ustawiamy jego właściwość Visible na True; w ten sposób otrzymujemy uruchomione i widoczne na ekranie wystąpienie programu Power Point. Jak tworzymy takie wystąpienie obiektu PowerPoint.Application i ustawiamy jego właściwość Visible na True? Oczywiście dzięki poniższym wierszom kodu:

Set objPPT = CreateObject("PowerPoint.Application")

objPPT.Visible = True

Z uwagi na to, że opcje wydruku powiązane są z jakąś konkretna prezentacja, a nie ustawieniami globalnymi, potrzebna nam jest teraz jakaś prezentacja. Możemy ją utworzyć (używając szablonu domyślnego) i dodać do niej slajd za pomocą poniższych wierszy kodu:

Set objPresentation = objPPT.Presentations.Add

Set objSlide = objPresentation.Slides.Add(1,1)

Oczywiście, nie jest to mus. Nie trzeba przecież tworzyć zupełnie nowej prezentacji, można skorzystać z już istniejącej i zmienić dla niej opcje wydruku. Oto skrypt, który otwiera plik C:\Scripts\Test.ppt i modyfikuje jego opcje wydruku:

Const ppPrintOutputThreeSlideHandouts = 3



Set objPPT = CreateObject("PowerPoint.Application")

objPPT.Visible = True



Set objPresentation = objPPT.Presentations.Open("C:\Scripts\Test.ppt")



Set objOptions = objPresentation.PrintOptions

objOptions.OutputType = ppPrintOutputThreeSlideHandouts

À propos modyfikowania opcji wydruku, następnym naszym krokiem jest przecież utworzenie nawiązania do obiektu PrintOptions, a potem przypisanie stałej ppPrintOutputThreeSlideHandouts właściwości OutputType:

Znamy się przecież nie od dziś i chcemy uprzedzić pytanie: „jak wykasować nowy obszar nazw?” Nie jest to trudne, więc nie wymaga osobnego artykułu, jeżeli więc chcecie usunąć obszar nazw root\ScriptCenter , wystarczy jedynie uruchomić poniższy skrypt:

Set objOptions = objPresentation.PrintOptions

objOptions.OutputType = ppPrintOutputThreeSlideHandouts

Tylko tyle, jeżeli klikniemy teraz na Print, to automatycznie przywołamy metodę PrintOut i otrzymamy wydruki w postaci materiałów informacyjnych (po trzy na stronę) a nie okropnych i niechcianych slajdów. O to nam przecież chodziło, no nie?

Ważne:

Nasuwa Wam się pewnie teraz pytanie: „Czy istnieją jeszcze inne opcje wydruku, które można konfigurować oprócz OutputType”? Oczywiście, ze są (przecież, znowu, nie zadalibyśmy tego pytania) i więcej na ten temat możecie znaleźć w dokumentacji Microsoft PowerPoint VBA Language Reference (j.ang.).

Mamy nadzieje, ze to odpowiada na Twoje pytanie, OG. My natomiast, po ochłonięciu po wygranej, mamy pewne przemyślenia. Dlaczego firma Microsoft miałaby rozdawać pieniądze, ot tak sobie? Musimy sprawdzić chyba jeszcze raz tę stronę Departamentu Stanu pod hasłem kluczowym „Microsoft”, „loteria”, „szwindel”...

 Do początku strony Do początku strony

Centrum skryptów - Microsoft office