Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como Abrir Un Documento De Word

Estas en el tema de Como Abrir Un Documento De Word en el foro de Programación General en Foros del Web. HOLA AMIGOS: Estoy creando una programita, y quiero que este me abra un documento de word, pero cuando lo llamo, siempre me da el error ...
  #1 (permalink)  
Antiguo 26/04/2004, 12:50
 
Fecha de Ingreso: abril-2004
Ubicación: Benamaurel
Mensajes: 11
Antigüedad: 20 años, 1 mes
Puntos: 0
Como Abrir Un Documento De Word

HOLA AMIGOS:

Estoy creando una programita, y quiero que este me abra un documento de word, pero cuando lo llamo, siempre me da el error de que me falta un objeto.

He probado de muchas maneras, y he visto varios ejemplos por internet y en los manuales, pero nada, no se como sacarlo adelante.

Por favor, haber si alguno que sepa como hacerlo, me echa una mano. Por favor sed un poco explícitos porque no estoy muy puesto.

Para vuestra información el sistema operativo que uso es el xp profesional con el Microsoft office xp también profesional, y sería la programación en VISUAL BASIC 6

MUCHAS GRACIAS POR ADELANTADO.
  #2 (permalink)  
Antiguo 27/04/2004, 03:06
 
Fecha de Ingreso: febrero-2004
Mensajes: 12
Antigüedad: 20 años, 3 meses
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
  #3 (permalink)  
Antiguo 27/04/2004, 03:52
 
Fecha de Ingreso: abril-2004
Ubicación: Benamaurel
Mensajes: 11
Antigüedad: 20 años, 1 mes
Puntos: 0
NO SE ME DA BIEN

GRACIAS AJOJARA:

Gracias por el esfuerzo de contestadme, pero no se sacar esto adelante, creo que soy un poquito torpe.

No se si es tomarme mucha confianza, pero si me pudieras mandar a mi correo un pequeño ejemplo. Con que sea un simple formulario con un botón que al pulsar abra un documento de word que se llame por ejemplo "prueba" y este colgado de la C:\ me sería suficiente. Creo que desde ahí ya podría seguir trabajando.

Si cualquier otro usuario de este foro tuviera la solución y me la quisiera mandar le estaría muy agradecidos.

mi dirección: [email protected]


MUCHAS GRACIAS A TODOS POR VUESTRO TIEMPO.
  #4 (permalink)  
Antiguo 27/04/2004, 04:11
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
Comprueba que el objeto esté bien instanciado,que ese error me suena a que no lo has declarado bien,saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.