Solved

Handling multiple instances of Word with multiple documents when Automating Word

Posted on 2007-03-26
7
258 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

759 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

16 Experts available now in Live!

Get 1:1 Help Now