[Python-de] AW: [Python-de] com client für PowerPoint?

Vollmer, Marc Marc.Vollmer at mahr.de
Thu Oct 25 11:36:53 EDT 2001


Hallo Frank,

ich habe keine Ahnung von PP, aber Dein Script dürfte deswegen nicht laufen,
weil über die COM-Schnittstelle die Konstanten nicht bekannt sind. Diese muß
Du Dir aus der VBA mit debug.print raussuchen. Ich habe Dein Script einfach
mal ausprobiert:

	import win32com.client

	ppt = win32com.client.Dispatch("PowerPoint.Application")
	ppt.Visible=1
	ppt.Presentations.Open(FileName='c:\print.ppt')

	#Definieren der Konstanten
	ppPrintAll = 1
	msoTrue = -1

	ppt.ActivePresentation.PrintOptions.RangeType = ppPrintAll
	ppt.ActivePresentation.PrintOptions.NumberOfCopies = 3
	ppt.ActivePresentation.PrintOptions.Collate = msoTrue

Ich muß, das Programm allerdings zweimal starten, damit PP aufgeht,
irgendwie noch ein Fehler bei Visible, aber ansonsten übernimmt es zumindest
die drei Kopien, das andere Zeug kenne ich nicht.

Ich hoffe das reicht, damit Du Python weiter einsetzen kannst, was ja auch
Sinn und Zweck dieser Newsgroup sein sollte.

An alle andere:
Bitte nicht darüber diskutieren -- bitte.

Gruß
Marc

> -----Ursprüngliche Nachricht-----
> Von: Frank Immich [mailto:frankimmich at gmx.de]
> Gesendet am: Donnerstag, 25. Oktober 2001 08:57
> An: python-de at starship.python.net
> Betreff: [Python-de] com client für PowerPoint?
> 
> Hallo zusammen, 
> auch wenn ich wahrscheinlich der einzige bin der das braucht...
> Entschuldigt, wenn ich irgendwas überlesen habe, aber  ich 
> finde kaum infos
> zu PPT. Ich habe die Infos aus der Auto97.exe Datei... komme 
> nur nicht so
> ganz klar.
> ...
> 
> ppt = win32com.client.Dispatch("PowerPoint.Application")
> ppt.Visible = 1 
> ppt.Presentations.Open(FileName='c:\print.ppt')
> 
> OK...bis hier her geht's noch aber wie gebe ich jetzt die 
> Optionen die ich
> im VB-Editor finde ein??
> 
> z.b.
> 
> Presentations.Open FileName:="C:\print.ppt", ReadOnly:=msoFalse
>     With ActivePresentation.PrintOptions
>         .RangeType = ppPrintAll
>         .NumberOfCopies = 1
>         .Collate = msoTrue
>         .OutputType = ppPrintOutputTwoSlideHandouts
>         .PrintHiddenSlides = msoTrue
>         .PrintColorType = ppPrintBlackAndWhite
>         .FitToPage = msoFalse
>         .FrameSlides = msoTrue
>         .ActivePrinter = "\\SRV-OBELIX\HP LJ 5000 Raum 330"
>     End With
>     ActivePresentation.PrintOut
> 
> Könnte mir jemand kurz das Prinzip erklären, den Rest schaffe ich dann
> schon...
> Kann man nicht einfach ein Macro ablaufen lassen...?
> DAnke für alle Tipps.
> Ciao Frank
> PS makepy habe ich laufen lassen...
> 
> -- 
> GMX - Die Kommunikationsplattform im Internet.
> http://www.gmx.net
> 
> _______________________________________________
> Python-de maillist  -  Python-de at starship.python.net
> http://starship.python.net/mailman/listinfo/python-de
> 



More information about the Python-de mailing list