Word blijft geladen

Status
Niet open voor verdere reacties.

ReneRijk

Gebruiker
Lid geworden
23 mrt 2008
Berichten
112
Hoi Allemaal,

Ik heb een mailmerge code geschreven die vanuit Excel Word aanroept en een mailmerge opstart.
Dit werkt allemaal prima. Het probleem is dat als het klaar is en Word wordt gesloten er een WinWord.exe actief blijft in het geheugen. Ook zie ik dat Word een Copie van het sjabloon vast houdt.
Als ik het sjabloon direct start ( ipv op te roepen via VBA vanuit Excel) en ik sluit Word dan blijft er geen copie achter in het geheugen.

Iemand een id hoe dit kan en beter nog, hoe dit kan worden opgevangen.
Het stukje code onder de OK button ziet er als volgt uit,

Code:
Private Sub cmdOK_Click()
    UserForm1.Hide
    If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Then
        MsgBox "Vul de juiste gegevens in"
    UserForm1.Show
End If

    Range("A3").Value = TextBox1.Value
    Range("A5").Value = TextBox2.Value
    Range("A7").Value = TextBox3.Value
    ThisWorkbook.Save

     Set wrdApp = CreateObject("Word.Application")
        wrdApp.Visible = True
    
    With GetObject("C:\test\test.doc").MailMerge
        .Destination = 0
        .SuppressBlankLines = True
        .Execute
                
    End With
            
        Unload UserForm1
        ThisWorkbook.Close
        
End Sub

Alvast bedankt voor het meedenken.

Peace,
René Rijk. :thumb:
 
Verwijder

Code:
     Set wrdApp = CreateObject("Word.Application")
        wrdApp.Visible = True
 
Bedankt voor de reactie.
Als ik dat gedeelte uitschakel dan komt Word helemaal niet tevoorschijn. :confused:
Maar wordt wel geladen in het geheugen.

Peace,
René Rijk. :thumb:
 
Waarom zou je het resultaat van de samenvoeging willen zien ?
 
Om het uit te printen. :)
Nu gebeurd er dus niks mee. En als ik het laat uitprinten via VBA dan is de kans groot dat ze een verkeerde printer hebben of niet het juiste papier in de printer hebben gestopt.

Peace,
René Rijk. :thumb:
 
Dat is geen argument

Code:
    c0=application.activeprinter

    With GetObject("C:\test\test.doc").MailMerge
        .Destination = 0
        .SuppressBlankLines = True
        .Execute
    End With
    msgbox "doe het juiste papier in de printer"
    application.activeprinter= "beoogde printer"
    with activedocument
      .printout  true
      .close
    end with
    application.activeprinter =c0
 
Haha. Nee dat ben ik helemaal met je eens.
Nogmaals bedankt voor de hulp. Dit is natuurlijk zeer gewaardeerd.
Ik ga de code aanpassen en testen.
Je ziet dat ik geen VBA guru ben. Maar op deze manier leer ik er iig heel wat bij.:thumb:

Peace,
René Rijk.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan