Probl al int Re-Abrir una Inst de Word
Publicado por JULIO (1 intervención) el 13/11/2006 03:59:30
Mi Problema: Desde mi aplicacion de VB abro una instancia de Word. Hasta ahi todo funciona perfecto.
Si el usuario cierra Word y envia un nuevo documento desde mi aplicacion VB, termina abruptamente la aplicacion VB, porque desencandena un error fatal.
Cuando el usuario reinicia mi aplicacion VB y envia el documento a Word, funciona perfecto. El error fatal se desencadena cuando el usuario cierra Word y continua dentro de la aplicacion VB y quiere enviar un nuevo documento.
O sea, no admite que una misma instancia de mi aplicacion VB abra dos veces Word.
La funcion aplicada es la siguiente
Private Sub AbrirAplicacionWord(Numero As Integer)
Static Acumulado As Integer
Acumulado = Acumulado + Numero
On Error GoTo ManejoError:
Set apword = Word.Application
apword.Visible = True
apword.Documents.Add ' agrega un nuevo documento
With apword.ActiveDocument.PageSetup
.PageHeight = InchesToPoints(9)
.PageWidth = InchesToPoints(7)
End With
'Establecer Tamaño de Papel y Margenes
HojaPaginaLegal
Exit Sub
'Si Word NO ESTA ABIERTO, lo abre
ManejoError:
Dim error As Integer
error = Err
'la aplicacion no esta abierta
Select Case Err
Case 429
Set apWord = Nothing
Set apword = New Word.Application
Resume Next
'vuelve a la siguiente linea
Case 462
aqui leo el error, pero lo mismo no funciona
Set apWord = Nothing
Set apWord = New Word.Application
Resume Next
End Select
End Sub
Alguien sabe porque no funciona en la situacion planteada?
Desde ya muchas gracias
Si el usuario cierra Word y envia un nuevo documento desde mi aplicacion VB, termina abruptamente la aplicacion VB, porque desencandena un error fatal.
Cuando el usuario reinicia mi aplicacion VB y envia el documento a Word, funciona perfecto. El error fatal se desencadena cuando el usuario cierra Word y continua dentro de la aplicacion VB y quiere enviar un nuevo documento.
O sea, no admite que una misma instancia de mi aplicacion VB abra dos veces Word.
La funcion aplicada es la siguiente
Private Sub AbrirAplicacionWord(Numero As Integer)
Static Acumulado As Integer
Acumulado = Acumulado + Numero
On Error GoTo ManejoError:
Set apword = Word.Application
apword.Visible = True
apword.Documents.Add ' agrega un nuevo documento
With apword.ActiveDocument.PageSetup
.PageHeight = InchesToPoints(9)
.PageWidth = InchesToPoints(7)
End With
'Establecer Tamaño de Papel y Margenes
HojaPaginaLegal
Exit Sub
'Si Word NO ESTA ABIERTO, lo abre
ManejoError:
Dim error As Integer
error = Err
'la aplicacion no esta abierta
Select Case Err
Case 429
Set apWord = Nothing
Set apword = New Word.Application
Resume Next
'vuelve a la siguiente linea
Case 462
aqui leo el error, pero lo mismo no funciona
Set apWord = Nothing
Set apWord = New Word.Application
Resume Next
End Select
End Sub
Alguien sabe porque no funciona en la situacion planteada?
Desde ya muchas gracias
Valora esta pregunta


0