Solved

Handling multiple instances of Word with multiple documents when Automating Word

Posted on 2007-03-26
7
260 Views
Last Modified: 2013-11-07
Experts,

I need to generate a word document with data stored in SQL Server 2005 using VB.Net.  

I use to do this sort of thing a lot in VB6 and I'm new to .Net.  I remeber that having different instances of Word open and multiple documents per Word instance always was a n problem until I found some VB6 code to take care of it. Never really understood the code though ....

My question is:  what is the correct way handling this problem in .Net?

Thanks
0
Comment
Question by:PantoffelSlippers
  • 4
  • 3
7 Comments
 

Author Comment

by:PantoffelSlippers
ID: 18897398
Doubled the points!

Any suggestions?

Thanks
0
 
LVL 6

Expert Comment

by:nirojexpert
ID: 18930545
there are two methods createObject and getObject
use the getObject to get a previous instance of the application.

or create a word application at global level

open each doument using the same word application object.
0
 
LVL 6

Expert Comment

by:nirojexpert
ID: 18930547
you should also close the objects after creating it


set wordApp = nothing
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:PantoffelSlippers
ID: 18931840
OK but how do I know if an existing instance of Word is already running?  If Word is already open I would not like to open another instance.  

Also, in VB6 I would add a reference to the Word OLB file; is there a replacement in .Net for this or do I still add a COM object / OLB file?
0
 
LVL 6

Accepted Solution

by:
nirojexpert earned 500 total points
ID: 18936726
try getObject first, if it generates error at runtime, then use the createObject
on error goto err_getObj

set s = getObject("...")
goto withOBJ
err_getObj:
on error resume 0 'cancel on error
'we will have to create it
set s = createObject("....")

withObj:


about olb for .net, i think the same.
0
 

Author Comment

by:PantoffelSlippers
ID: 18975293
Any idea what goes inside the brackets?

set s = CreateObject("xxx")  :  what should xxx be?  Would the value of xxx change depending on the version of Word installed?  (2000, 2002, 2003, 2007).

Also, if I'm correct, you are using VB6 syntax above- will it be the same for .Net?

Thanks
0
 
LVL 6

Expert Comment

by:nirojexpert
ID: 18977593
the object name is independent of the class name. so do not worry about it.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now