WORD Printout senza prompt

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

WORD Printout senza prompt

Post by Ugo »

Ciao,
dovendo stampare da word appare un prompt se i margini impostati nel documento sono inferiori a quelli della stampante scelta.
E' possibile forzare la stampa senza visualizzare niente?
Ecco un esempio (il messaggio non appare se si usano stampanti virtuali):

Code: Select all

//------------------------------------------------------------------------------

FUNCTION TestWord()

   LOCAL oWord
   TRY
      oWord := CreateObject( "Word.Application" )
      oDoc  := oWord:Documents:Add()
      oWord:Selection:InsertAfter ( "This is a test." )
      // Impostazione pagina
      WITH OBJECT oDoc:PageSetup()
         :TopMargin      := 0
         :BottomMargin   := 0
         :LeftMargin     := 0
         :RightMargin    := 0
      END WITH

      // If the printer's margin is more big than set, word display a prompt.
      // When use oWord:DisplayScreenTips := .F., the prompt is not displayed but the process is blocked
      oWord:PrintOut()

      oWord:Quit()

   CATCH

      oWord:Quit()

   END

   RETURN Nil

//------------------------------------------------------------------------------
 
Grazie per l'aiuto.
Ciao, best regards,
Ugo
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Re: WORD Printout senza prompt

Post by Ugo »

Enrico Maria Giordano wrote:Prova con

Code: Select all

#define wdAlertsNone 0

oWord:DisplayAlerts = wdAlertsNone
EMG
Enrico,
grazie per la risposta, ma continua ad apparire il prompt con il messaggio: :(
"i margini della sezione 1 sono esterni all'area di stampa della pagina, continuare?".
Ciao, best regards,
Ugo
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Re: WORD Printout senza prompt

Post by Ugo »

Enrico Maria Giordano wrote:Allora probabilmente non è proprio possibile stampare con quei margini.

EMG
Enrico,
il messaggio è un warning.
Se clicco su si (prosegui) stampa la pagina magari cancellando parte del contenuto (tutto ciò che non rientra nella zona stampabile).
In pratica, per ciò che devo fare, l'utente dovrà sempre dare si. Se fosse possibile evitare il passaggio sarebbe meglio; se non si può pazienza.
Intanto grazie.
Ciao, best regards,
Ugo
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: WORD Printout senza prompt

Post by Enrico Maria Giordano »

Oltre a DisplayAlerts non sono a conoscenza di altri modi. Sei sicuro di aver fatto la prova per bene? Magari mandami DOC e PRG per fare la prova qui.

EMG
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Re: WORD Printout senza prompt

Post by Ugo »

Enrico Maria Giordano wrote:Oltre a DisplayAlerts non sono a conoscenza di altri modi. Sei sicuro di aver fatto la prova per bene? Magari mandami DOC e PRG per fare la prova qui.
Enrico,
l'esempio postato è completo!
Devi solo selezionare una stampante fisica con dei margini, le stampanti virtuali, dai miei test, non soffrono del problema.

P.S. Grazie e buon anno a tutti.
Ciao, best regards,
Ugo
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: WORD Printout senza prompt

Post by Enrico Maria Giordano »

A me così funziona regolarmente:

Code: Select all

//------------------------------------------------------------------------------

FUNCTION TestWord()

   LOCAL oWord, oDoc
   TRY
      oWord := CreateObject( "Word.Application" )
      oDoc  := oWord:Documents:Add()
      oWord:Selection:InsertAfter ( "This is a test." )
      // Impostazione pagina
      WITH OBJECT oDoc:PageSetup()
         :TopMargin      := 0
         :BottomMargin   := 0
         :LeftMargin     := 0
         :RightMargin    := 0
      END WITH

      // If the printer's margin is more big than set, word display a prompt.
      // When use oWord:DisplayScreenTips := .F., the prompt is not displayed but the process is blocked
      oWord:PrintOut( .F. )

      oDoc:Close( 0 )

      oWord:Quit()

   CATCH

      oWord:Quit()

   END

   RETURN Nil

//------------------------------------------------------------------------------

EMG
Post Reply