Cerrar word

J. rosario
26 de Agosto del 2004
Hola, de antemano gracias, Mi problema es que:
Un boton en VB manda llamar el procedimiento de abajo, el cual consiste en vaciar un datagrid a word(esto ya funciona de manera excelente),y una vez que termina te deja en primer plano el doc. de word para que el usuario lo modifique. Mi problema es que una vez que el usuario termine y cierre word, yo capture ese evento(close,unload o el que sea), para anotar las ultimas cuatro lineas del codigo y seguir con otras cosas en VB.

Private MyWord As Word.Application
Private WordDoc As Word.Document

Public Sub OpenDocument(pstrTemplate As String)
Dim cont As Integer
Dim MyWord As Word.Application
Dim WordDoc As Word.Document
Set MyWord = CreateObject("Word.Application")
Set WordDoc = MyWord.Documents.Open(pstrTemplate)
MyWord.Visible = True
MyWord.Activate
If frmElaborarPresupuestos.Adodc4.Recordset.RecordCount > 0 Then
frmElaborarPresupuestos.Adodc4.Recordset.MoveFirst
For cont = 0 To frmElaborarPresupuestos.Adodc4.Recordset.RecordCount - 1
MyWord.Selection.TypeText Text:=frmElaborarPresupuestos.Adodc4.Recordset.Fields(0).Value
MyWord.Selection.MoveRight Unit:=wdCell
MyWord.Selection.TypeText Text:=frmElaborarPresupuestos.Adodc4.Recordset.Fields(1).Value
MyWord.Selection.MoveRight Unit:=wdCell
MyWord.Selection.TypeText Text:=frmElaborarPresupuestos.Adodc4.Recordset.Fields(2).Value
MyWord.Selection.MoveRight Unit:=wdCell
MyWord.Selection.TypeText Text:=frmElaborarPresupuestos.Adodc4.Recordset.Fields(3).Value
If cont < frmElaborarPresupuestos.Adodc4.Recordset.RecordCount - 1 Then
MyWord.Selection.MoveRight Unit:=wdCell, Count:=1
End If
frmElaborarPresupuestos.Adodc4.Recordset.MoveNext
Next cont
frmElaborarPresupuestos.Adodc4.Recordset.MoveFirst
End If
MyWord.Selection.TypeText Text:=frmElaborarPresupuestos.Txtletra.Text

'WordDoc.Close False
'Set WordDoc = Nothing
'MyWord.Quit
'Set MyWord = Nothing
end sub

martin_tellez
26 de Agosto del 2004
Fijate que tienes un problema ya que al abrir otra aplicación visual pasa el control a al aplicacion que abre y por lo tanto no lo puedes cerrar no existe un metodo que le diga a word que regrese a visual, sin embargo lo que haces con un objeto ole asignado al archivo de word es que cuando cierres el archivo el control regresa a visual y sigue con su operación