Christoph Kaser: Office-Fernsteuerung reagiert komisch...

Tach zusammen!

Komische Sache, diese Word, Excel und PPT-Instanzierung... Ich habe hier drei Prozeduren, in jeder Prozedur wird der entsprechende Code ausgeführt, um ein .PS (Postscript)-File über den Acrobat Distiller zu drucken.

Irgendwie komisch, dass beim Excel-Aufruf kein Fenster von Excel erscheint, der Vorgang also im Hintergrund ausgeführt wird (SO sollte das sein) und bei Word und PPT jedesmal einfach die gesamte Dokumentansicht auf dem Bildschirm kommt. Mach ich da was falsch, oder sind die Office-Verweise einfach nicht sauber ausprogrammiert?

Code, um den übergebenen Filenamen (FNAME) in Word in .PS auszudrucken.

Dim Oapp As Word.Application
    Dim Odoc As Word.document

On Error Resume Next
    Err.Clear

Set Oapp = CreateObject("Word.Application")
    Set Odoc = Oapp.Documents.Open(Chr$(34) + fname + Chr$(34), , , False)
    Oapp.PrintOut True, False, , fname + ".ps"

Code, um den übergebenen Filenamen (FNAME) in Word in .PS auszudrucken.

'   Ein paar Variablen
    Dim Oapp As New EXCEL.Application
    Dim Odoc As New EXCEL.Workbook

On Error Resume Next
    Err.Clear

Set Oapp = CreateObject("Excel.Application")
    Set Odoc = Oapp.Workbooks.Open(fname)
    Oapp.ActiveWorkbook.PrintOut , , , , , True, , fname + ".ps"

Code, um den übergebenen Filenamen (FNAME) in PPT in .PS auszudrucken.

'   Ein paar Variablen
    Dim Oapp As New POWERPOINT.Application
    Dim Odoc As New POWERPOINT.Presentation

On Error Resume Next
    Err.Clear

Set Oapp = CreateObject("Powerpoint.Application")
    Oapp.Activate
    Set Odoc = Oapp.Presentations.Open(fname, msofalse)
    Oapp.ActivePresentation.PrintOut , , fname + ".ps"

Wie schon gesagt, nur das XLS-Sample läuft richtig, bei beiden anderen hab ich immer die störenden Programmfenster im Vordergrund...

KAS

Programming is like magic!
You can create, move, modificate, clone and destroy!