Page 1 of 1
Word e il "layout di stampa"
Posted: Sun Jan 15, 2006 8:09 pm
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
Re: Word e il "layout di stampa"
Posted: Sun Jan 15, 2006 10:17 pm
by Enrico Maria Giordano
Eccoti un esempio funzionante:
Code: Select all | Expand
#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
Posted: Mon Jan 16, 2006 2:26 pm
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
Posted: Mon Jan 16, 2006 2:53 pm
by Enrico Maria Giordano
Prova così:
Code: Select all | Expand
#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
Posted: Tue Jan 17, 2006 5:49 pm
by Marco Turco
Grazie. E' tutto Ok adesso.
Saluti
Marco