Question

VFP Word Application OLE Errors

Asked by: ramramcat

I have a VFP-9 application on a network of about 10 users that uses a Word Application object to perform a mail merge, update a mail-merge document, print it and save it to a NEW document. The users select a master mail-merge document from a folder of documents and then process the merge-print-save. The data source for the mail-merge is a CSV file that is stored on each users local hard-drive. This CSV file is updated before each merge.
 
Very often error #1429 OLE IDispatch exception code 0 from Microsoft Word: is issued.
After the above message it says Requested object is not available... 
-OR-
This file is read-only.  (F:\COLLECT\DOCS\51 CORP DEMAND.doc) [the master documents name
-OR-
Word cannot save this file because it is already open elsewhere.  (F:\DEBTOR-DOCS\...\MEM-PBD-SETTLE.doc) [the NEW document in a different directory]

The #1429 error message has been issued with Requested object is not available... even when no other programs are running on the workstation and no other users are logged in.

Everything works in testing and sometimes, it also works in the live environment. It almost seems that a document and/or the Word object is being left open, but I ran it with the Processes page on the Windows Task manager open and I could see Winword open and then close.

The code is below.

Users are running VFP-9 (compiled EXE application), Windows-XPP, Word-2003.

Any help would be greatly appreciated.

Also, does anyone know of a GOOD source for VFP Office Automation, as every time I need to use it I end up winging it (very time consuming).

Thank you all.

* Create/Update CSV file for Letters
Thisform.BldLett()
 
M_DocName = CLDocs.DocName
M_DocLoc = CLDocs.DocLoc
 
* Build Debtor Documents folder if not exist
IF NOT DIRECTORY(sys(5)+"\DEBTOR-DOCS\"+ALLTRIM(M_CLFILE))
  MD sys(5)+"\DEBTOR-DOCS\"+ALLTRIM(M_CLFILE) 
ENDIF 
 
* Mailmerge and print Letter
 oword = CreateObject("Word.Application")
 
* APPLICATION.OLERequestPendingTimeout = 0   		&& 0 means no busy error message
 
*** The previous line removes the switch-to error message if busy. Caused by word print dialog box being displayed
*** at the same time another item on the screen is clicked, creating a conflict. Activate line by removing *.
* APPLICATION.OLERequestPendingTimeout = 0   && 0 means no busy error message
 
     WITH oword
 
      .Documents.Open(sys(5)+ALLTRIM(M_DocLoc)+ALLTRIM(M_DocName)) 
 
      .Visible = .F.
  
      .ActiveDocument.MailMerge.Destination = 0 && new document.
      .ActiveDocument.MailMerge.Execute         && Run the merge.
           
      .Dialogs(88).show()   && Open Print dialog box in Word.
 
      .ActiveDocument.SaveAs(sys(5)+"\DEBTOR-DOCS\"+ALLTRIM(M_CLFILE)+"\"+ALLTRIM(M_DocName))
 
      .Documents.Close          
      .Application.Quit
      
     ENDWITH

                                  
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:

Select allOpen in new window

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-08-28 at 00:14:55ID24689013
Tags

Visual Foxpro

Topic

FoxPro Database

Participating Experts
3
Points
500
Comments
7

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. In VFP, Imagelist Control not detected in TreeView Control  ?
    I am working on VFP 5.0. I have attached a TreeView Control and Imagelist Control to a form. In Properties, the Combo of Imagelist for TreeView Control does not show the Imagelist Control which is pasted on the form. (i.e Images could not be assigned to TreeView Control even ...
  2. VFP and VB communication
    Hi, Does anyone know what is the fastest and best method for a VB program to communicate with a VFP program (both in the same PC) ? Is using DDE the only solution ? If so, how do I set VFP as a DDE server ? Please advice. Cheers.
  3. vfp 6.0
    I excute app. compiled with vfp 6.0 on workstation uninstalled vfp 6.0 and i dont need install vfp 6.0 , I recevied mess. "cannot locate vfp support library" , i asked "what is the library of vfp 6.0 "
  4. VFP7 + Excel - OLE IDispatch Exception Error
    I have a VFP7 application which is transfering data from one of its tables into an Excel worksheet. This is working well up to a point where it blows up. I successfully write about 106 rows when I get an error message: OLE IDispatch exception code 0 from ?:?,, The data...
  5. sending email with VFP
    hi, i want to send internet email via vfp, how can i do?
  6. Updating VFP tables via VFP OLE DB Provider
    Hi! There is a legacy system written in Visual Fox Pro in the company I work for. I need to update its tables from another application (e.g. MS Excel). I tried to use VFP OLE DB to perform this task and wrote the following VBA code that updates field1 from table1.dbf: ...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: pcelbaPosted on 2009-08-28 at 01:52:26ID: 25205807

Yes, Office automation is unstable sometimes... Or maybe not unstable but unpredictable. And it is hard to help to fix all possible problems you could have.

What I would try to do in your situation is to find some work around. It seems your problems are not reproducible each time but you know almost all error states. In such cases you should try to solve your problems in error handler. You may RETRY the command which caused error known from your list after some (one second) delay. It should allow to  finish all pending Windows events and the operation could then be successful... You may do it in a loop and rise the error after, let say, three attempts. But who knows if it will help?

You are writing "everything works in test environment". Does the EXE executed under run-time library work in your test environment? Always? Then you should look for differences between your test and production environment. Or did you try to execute your app under VFP development version in your production? Does it produce same errors?

The good source for VFP office automation is here:
http://www.hentzenwerke.com/catalog/autofox.htm
But don't expect it will solve your problems :-). Yes, there are some very useful hints in this book and it points to known issues in office automation but your problems will probably need "something more"...

Good luck!

 

by: CaptainCyrilPosted on 2009-08-28 at 01:58:19ID: 25205836

Maybe the user has Word open while running your code so you can't really close Word. What you need to do it try to close it using TRY ELSE CATCH.

 

by: Olaf_DoschkePosted on 2009-08-28 at 02:23:30ID: 25205945

Office automation is as hard or easy as other programming. The thing you need to be aware of, is that you automate an external process with it's own rules and language and object model. If Office is installed correctly it works "as expected". ERROR 1429 or 1427 are OLE errors, that themselves are not always the same error, it's a whole list of errors coming in as that error VFP, take a look at AERROR and what it says about the iformations you get in the error array when these errors ar thrown from OLE.

When you get a "Requested object is not available..." error and you're sure it is available, then this could have several reasons: a) You think about the wrong object being complained about, eg OLE talks about the OLE server word.application or something else in regard to mailmerge, while you think of a document. b) Office is simply not installed correctly, which can surely and simply happen, if something else is deinstalled and deleted some portion of shared DLLs needed by Office. Office is not a simple EXE as you surely know, it's vulnerable as a complexer system c) The error may be misleading and something else is wrong.

Either way, if it works during development and you didn't forgot to distribute any third party components or plug ins needed, you should simply try with a complete deinstall, cleanup and reinstall of Office.

If you have have different Office version, that also could be the simple reason. While Office often is compatible, that is only downward compatibility. Eg if you develop with a higher version than used, don't complain about things missing or not working, that were only introduved in the newer version.

Bye, Olaf.

 

by: CaptainCyrilPosted on 2009-08-28 at 04:53:39ID: 25206569

I will add two points to Olaf's notes:

1) Always develop in the lowest version of Office used
2) Also check the access priveleges on the workstations specially in Vista or when logged in on Active Server or non-admin users

 

by: ramramcatPosted on 2009-09-01 at 00:01:53ID: 25229085

Thanks everyone. Cyril, I am not sure what TRY ELSE CATCH means .....???
Thanks.

 

by: CaptainCyrilPosted on 2009-09-01 at 00:41:08ID: 25229270

sorry :-)

I meant:

TRY
   Command That Might Cause An Error
CATCH
   Handle the error.
ENDTRY

 

by: ramramcatPosted on 2009-09-18 at 17:14:32ID: 31621600

Not a solution in itself but a good source for further information on the topic. Thanks.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...