Solved

VB Word control

Posted on 2002-03-21
8
162 Views
Last Modified: 2010-05-02
Fom VB I launch a word document and run a macro within that document.  The macro can take some time,  how do I give my VB application back control after I launch the word document.  The application doesn't really care if the word macro completes or fails.  Currently, the VB app has to wait for word to complete before control can be given.

Dim objNewDoc
Set objNewDoc = oWord.Documents.Add(WORKING_DIR & _ "\templates\" & s_reportlocation)

oWord.Visible = True


objNewDoc.PopulateDocument
         
Unload Me
   
'Kill all of the word related objects
Set objNewDoc = Nothing
Set oWord = Nothing
0
Comment
Question by:srobia
8 Comments
 
LVL 1

Expert Comment

by:COAtheGREAT
ID: 6885560
Try using the timer in macro. Wen you call the function it enabled timer control so you get out of function, and on timer event you do what you need.
0
 

Author Comment

by:srobia
ID: 6885565
I'm not sure I know what you mean -- how would I launch the macro to do the program?  Or would I call the timer macro and in the timer macro launch the other macro?
0
 
LVL 1

Expert Comment

by:COAtheGREAT
ID: 6885641
You can insert UserForm in word document and plase on it timer control. On timer event do jour work. Your word macro just enables timer.
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 44

Expert Comment

by:bruintje
ID: 6886120
Hi srobia, instead of creating the process like that, for background processing i would use the shell command

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q129796

word has some commandline switches and one of tehm is to start with a macro /m + macroname so for example WORKING_DIR & _ "\templates\" & s_reportlocation & " /m" & PopulateDocument

HTH:O)Bruintje
0
 

Author Comment

by:srobia
ID: 6886760
bruintje -- I like the idea -- and I tried it.  However, I need to populate bookmarks from the VB application.  So unfortunately, I need to be able to launch word with a reference for the VB app to call and populate bookmarks.

COAtheGREAT -- can you give an example -- I think I understand I just want to make sure.  Thanks,
0
 
LVL 1

Expert Comment

by:COAtheGREAT
ID: 6886898
I am afraid i wos wrong i cant find the timer in word, but try to use idea if you can. Or you can use win api but it is harder way because you must create threed.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7634218
Hi srobia,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Refund points and save as a 0-pt PAQ.

srobia, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit.  Explain why.
==========
DanRollins -- EE database cleanup volunteer
0
 
LVL 1

Accepted Solution

by:
kodiakbear earned 0 total points
ID: 7666093
Moving to the Paq

kb
Experts Exchange Moderator
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

730 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