Solved

How do I clear variables from Word

Posted on 2001-06-12
5
150 Views
Last Modified: 2010-05-02
Ok

Here is the code I'm using

Main Module (all the variable are here):

Sub Main()
Dim oform As frmEZDocs
Set oform = New frmEZDocs
    oform.Show vbModal
Set oform = Nothing
End Sub

Form "EZDocs" (Main Form)
collects most of the variables, and launches the various subroutines...for example, a power of attorney routine below:



'This is the main subroutine for this form
Private Sub cmdGPOA_Click()
 On Error Resume Next
Dim wrdGPOA As Word.Application
Dim strTemplate As String
strTemplate = "C:\EZDocs\templates\GPOA.dot"
 Set wrdGPOA = GetObject(, "Word.Application")
 If wrdGPOA Is Nothing Then
   Set wrdGPOA = CreateObject("Word.Application")
 End If
 With wrdGPOA
    .Documents.Add (strTemplate)
    wrdGPOA.Visible = True
    GetDate
    ExpireDate
    SubExpireDate
    SubFindReplaceName
    SubFindReplaceSSN
    SubFindReplaceState
    SubFindReplaceGPOAAgent
    SubFindReplaceDate
End With
 'Close Word
 wrdGPOA.Quit
 'Release resources
Set wrdGPOA = Nothing
End Sub

I run this from one of my forms, and it takes information from forms to automate a power of attornet.  It runs fine, but after I make the first document, when I attempt to launch a second document...it won't go...no error...and something is happening in background, but no product output.  Is there some way to put a "reset" button on the form(s) so that all variables are reset, without haveing to exit and reload the program

thanks!



0
Comment
Question by:phred_the_cat
  • 3
5 Comments
 
LVL 38

Expert Comment

by:PaulHews
Comment Utility
Could be... usually you will get an error with this problem...

Unqualified use of an internal Word object causes problems.  Qualifying the object fixes it.

This link documents the problem


http://support.microsoft.com/support/kb/articles/Q189/6/18.ASP
0
 
LVL 38

Accepted Solution

by:
PaulHews earned 50 total points
Comment Utility
The reason I suspect this:

CAUSE
Visual Basic has established a reference to Word due to a line of code that calls a Word object, method, or property without qualifying it with a Word object variable. Visual Basic does not release this reference until you end the program. This errant reference interferes with automation code when the code is run more than once.

0
 
LVL 2

Expert Comment

by:chandukb
Comment Utility
PaulHews is absolutely right.  I had same problem with
Excel, I fixed after seeing Paul's comments.

Chandu
0
 

Author Comment

by:phred_the_cat
Comment Utility
Thanks man...now I just gotta figure out how to fix it
0
 
LVL 38

Expert Comment

by:PaulHews
Comment Utility
Well, if it is the problem I mentioned earlier, hunt through all the code looking for unqualified Word objects.  eg.

Unqualified.

Selection.Paste

Qualified (corrected)

wrdGPOA.Selection.Paste


Any internal Word object (Range, Selection, ActiveDocument, etc.) must be prefaced in this way.  

I am still not sure that this is the problem.  If it isn't let me know and I'll get CS to delete the question and refund your points so that you can ask it again.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…

744 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