![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
27/04/2004, 03:06
|
| | Fecha de Ingreso: febrero-2004
Mensajes: 12
Antigüedad: 21 años Puntos: 0 | |
En un módulo declara las variables:
Public fword As Word.Application
Global ExisteWord As Boolean
Dim WordActivo As Boolean
Y crea las siguientes funciones:
Public Sub AbrirWord()
On Error GoTo WordNoEjecutando
Dim Donde As String
Donde = "Buscando Word"
ExisteWord = True
WordActivo = True
Set fword = GetObject(, "word.application")
If Donde = "Abrir Word" Then
ExisteWord = False
Donde = "Abriendo Word"
Set fword = CreateObject("word.application")
ExisteWord = True
End If
Exit Sub
WordNoEjecutando:
Select Case Err.Number
Case 429
If Donde = "Buscando Word" Then
Donde = "Abrir Word"
Err.Clear
WordActivo = False
Resume Next
ElseIf Donde = "Abriendo Word" Then
MsgBox "Error al abrir Word:" & Chr$(10) _
& "No se puede abrir Word." & Chr$(10) & Chr$(10) _
& "Numero de error: " & Err.Number & Chr$(10) _
& "Descripción: " & Err.Description, vbCritical
Exit Sub
End If
ExisteWord = False
Case Else
If Err.Number <> 0 Then
MsgBox "Error al abrir Word:" & Chr$(10) & Chr$(10) _
& "Numero de error: " & Err.Number & Chr$(10) _
& "Descripción: " & Err.Description, vbCritical
End If
End Select
End Sub
Public Function CerrarWord()
On Error Resume Next
If Not WordActivo Then
fword.Application.Quit wdDoNotSaveChanges
End If
DoEvents
End Function
Puedes utilizarlas después, por ejemplo:
AbrirWord
If ExisteWord Then
...
End If
Y si salta algún error puedes usar CerrarWord si no queda cerrado:
Errores:
MsgBox "Error al Generar Documento" & Chr$(10) & Chr$(10) _
& "Numero de error: " & Err.Number & Chr$(10) _
& "Descripción: " & Err.Description & " ** " & G_Nombre_Sub_Error, vbCritical
Resume Next
CerrarWord
Espero que te sirva de ayuda
Saludos |