Glad you got it working, Jack. Had another thought while reading your post... What if you release the Word object after each printed document, then recreate it (the Word object)? Maybe that would prevent the "flash"?

I would suspect that the flash you're seeing is an opening-file dialog confirmation of some sort that only happens (in the Word code) when you open a document while Word is active...either that or the close command. Did you see the flash if there were only one document to print? I am guessing you didn't so it wouldn't be the close command.

Mike Copeland

-------- Original Message --------
Subject: Re: Print A Word Document From VFP
From: Jack Skelley <[email protected]>
To: [email protected]
Date: 5/9/2013 2:08 PM
Good Afternoon Ted:
Thanks for the great reply! Some really good info in those links you sent. I 
appreciate your input.
I still can't figure out why the first doc printed is 'silent' and the rest 
flash the screen. It's not the splash screen as they talk about in the links 
but the actual interface. I sent commands to resize the display and move it but 
didn't include it in the code.
I use the macro building functions in the Office apps then look at the code and 
convert to Fox speak.
Here is what I am currently using and it works very well.

for i = 1 to alen(laQueue,1)
   thisform.lstAttachments.listindex = laQueue(i,2)
   wait window "Queuing " + laQueue(i,1) + "..." nowait
   thisform.txtDocument.value = laQueue(i,1)
   thisform.txtDocument.refresh()
   do case
     case laQueue(i,3) = "Word..."
       oWord = createobject("Word.Application")
       oWord.visible = .f.
       oWord.Documents.Open(laQueue(i,1))
       oWord.Application.PrintOut()
       oWord.Quit(0)
     case laQueue(i,3) = "Excel..."
       oExcel = createobject("excel.application")
       oExcel.visible = .f.
       oExcel.Workbooks.Open(laQueue(i,1))
       oExcel.DisplayAlerts = .f.
       oExcel.ActiveWorkbook.PrintOut()
       oExcel.activeworkbook.close()
       oExcel.quit()
   endcase
   gaWord_docs(laQueue(i,2),1) = "PRT~~~" + justfname(laQueue(i,1))
   thisform.lstAttachments.refresh()
   lnPrinted = lnPrinted + 1
   thisform.txtDocs_printed.value = lnPrinted
   thisform.txtDocs_printed.refresh()
endfor

I know it isn't the slickest code around but there is no screen flash and it 
works. I guess that's most important!
I appeciate the input!
Best regards,

Jack

Jack Skelley
Senior Director, Programming/Computer Operations
New Jersey Devils
(973)757-6164
[email protected] ________________________________________
From: ProfoxTech [[email protected]] on behalf of Ted Roche 
[[email protected]]
Sent: Thursday, May 09, 2013 9:05 AM
To: [email protected]
Subject: Re: Print A Word Document From VFP

On Wed, May 8, 2013 at 11:37 AM, Jack Skelley
<[email protected]>wrote:

Ted and Frank:
Thanks for the tips.
Shellexecute still flashes Word and then the document on the screen. The
effect is even worse than in automation.
When I used nShowWin = 2 it appears in a smaller state but still flashes.

"Flashing word" means the splash screen for Word fires? You can suppress
that. A quick Google should point out a couple of solutions.

Perhaps adding the /q command line?

See:
http://lifehacker.com/5877847/start-microsoft-office-programs-without-the-splash-screen

You can also avoid showing a blank Word doc and then the actual file with
the /t commandline switch, apparently:

http://office.microsoft.com/en-us/word-help/command-line-switches-for-microsoft-office-word-2007-HP010164010.aspx

http://support.microsoft.com/kb/210565

As for not showing the document, I'm not sure. Automation may be the
solution, I guess.

But returning to the original question, if you're only printing static
documents, it's overkill to load an entire word processor, too. You're not
"processing words," editing and manipulating, you just want to print. Would
it be feasible to use "output documents" like PDF or Microsoft's X??
whatever they are documents, rather than "editable documents?"


--- StripMime Report -- processed MIME parts ---
multipart/alternative
   text/plain (text body -- kept)
   text/html
---

[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to