Word e il "layout di stampa"

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Word e il "layout di stampa"

Post by Marco Turco »

Salve,
sto cercando di aprire un file rtf da Word via ole,
per questo nessun problema.
Vorrei però che il documento appaia visualizzato come "Layout di stampa" (vedi Visualizza/Layout di stampa) in microsoft word.

Qualcuno conosce il comando Ole per attivare la visualizzazione come "Layout di stampa" per il documento corrente ?

Grazie in anticipo

Marco Turco
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Word e il "layout di stampa"

Post by Enrico Maria Giordano »

Eccoti un esempio funzionante:

Code: Select all

#define wdPrintView  3


FUNCTION MAIN()

    LOCAL oWord

    oWord = CreateObject( "Word.Application" )

    oWord:Documents:Add()

    oWord:ActiveDocument:ActiveWindow:View:Type = wdPrintView

    oWord:Visible = .T.

    RETURN NIL
EMG
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Post by Marco Turco »

Funziona, tuttavia mi appare in modo random il messaggio di errore

***
Application
===========
Path and name: K:\pigc\PIGC.Exe (32 bits)
Size: 6,569,472 bytes
Time from start: 0 hours 0 mins 37 secs
Error occurred at: 16/01/06, 12:54:13
Error description: Error Word.Application:ACTIVEDOCUMENT/1 Unknown error: ACTIVEWINDOW
Args:

Stack Calls
===========
Called from TOLEAUTO:ACTIVEWINDOW(0)

***

ed inoltre, dovendo richiamare la funzione più volte con difersi file rtf da aprire, non dovrei chiudere l'oggetto per non saturare la memoria ?
Vedi funzione Displayrtf in basso.

Marco




function DisplayRtf(cRtfFileName)

local oWord
local wsPrintView:=3

oWord := CreateObject("Word.Application")
oWord:Documents:Open(cRtfFileName)
oWord:ActiveDocument:ActiveWindow:View:Type = wsPrintView
oWord:Visible:=.t.
return nil
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Prova così:

Code: Select all

#define wdPrintView  3


FUNCTION MAIN()

    LOCAL oWord

    TRY
        oWord = GETACTIVEOBJECT( "Word.Application" )
    CATCH
        oWord = CREATEOBJECT( "Word.Application" )
    END

    oWord:Documents:Add()

    oWord:ActiveDocument:ActiveWindow:View:Type = wdPrintView

    oWord:Visible = .T.

    RETURN NIL
EMG
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Post by Marco Turco »

Grazie. E' tutto Ok adesso.

Saluti

Marco
Post Reply