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
Word e il "layout di stampa"
Moderator: Enrico Maria Giordano
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Word e il "layout di stampa"
Eccoti un esempio funzionante:
EMG
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
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
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
***
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
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Prova così:
EMG
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
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact: