Como abrir unarchivo

Buenas noches
Como puedo abrir un determinado archivo de word y como seria el código en visual basic

1 respuesta

Respuesta
1
Te adjunto un código que hace algún tiempo ocupé en una aplicación...
Este abre un documento word previamente generado, lo modifica a través de
código y luego lo imprime... espero que te sirva...
Function abrir_word()
Set app_word = CreateObject("word.application")
app_word.Caption = "Titulo que quieres que aparezca en la barra de
titulo"
app_word.Visible = False
End Function
Sub Generar_Documento()
Dim app_word As Object
Dim doc_word As Object
Dim rango As Object
On Error GoTo errores
Set doc_word = app_word.Documents.Open(FileName:=App.Path &
"\Documento.doc")
'-> Para este caso, yo cree previamente un documento .DOC con algunos
"Tag" por decirlo así, para después reemplazarlos con los datos que tengo
en las variables...
With app_word
barra.Visible = True
'fecha
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[fecha]", ReplaceWith:=Format(Date,
"mmmm dd") + " de " + Format(Date, "yyyy")
Progreso (1)
'nombre
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[nombre]", ReplaceWith:=nom + " " +
Apell
Progreso (2)
'apellido
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[apellido]", ReplaceWith:=apell
progreso (3)
'cta. cte.
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[cta.cte.]", ReplaceWith:=lacta_cte
progreso (4)
'banco
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[banco]", ReplaceWith:=elbanco
progreso (5)
'deposito
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[deposito]",
ReplaceWith:=Format(total_dep, "###,###")
progreso (6)
'fecha arriendo
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[fecha_a]", ReplaceWith:=Format(Date,
"mmmm") + " de " + Format(Date, "yyyy")
Progreso (7)
'dirección
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[dirección]", ReplaceWith:=ladireccion
progreso (7)
.
.
.
.
.
'total a recibir
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[total_final]",
ReplaceWith:=Format(total_dep, "###,###")
progreso (27)
'ejecutivo responsable
Set rango = .ActiveDocument.content
rango.Find.Execute FindText:="[nom_adm]", ReplaceWith:=ejecutivo_res
progreso (28)
lbl_listo.Visible = True
barra.Visible = False
End With
errores:
If Err.Number <> 0 Then
If Err.Number = 5174 Then
mensaje = "No se pudo generar la Carta. Imposible encontrar el
Archivo"
ElseIf Err.Number = 462 Then
mensaje = "Microsoft Word fue Cerrado..." + Chr(10) + Chr(13) + "Por
favor, cierre la ventana ''Carta Propietarios'' y vuelva a entrar."
Else
mensaje = "No se pudo generar la Carta" + Chr(10) + Chr(13) +
Err.Description
End If
a = MsgBox(mensaje, vbCritical, "Falla en la Operación")
End If
End Function
Private Sub imprimir_Documento_Click()
On Error GoTo errores
If app_word.Documents.Count >= 1 Then
CommonDialog1.CancelError = True
CommonDialog1.ShowPrinter
app_word.ActiveDocument.PrintOut
app_word.ActiveDocument.Close (0)
If app_word.Visible = True Then
app_word.Visible = False
End If
Else
a = MsgBox("El documento ya se imprimió...", vbInformation,
"Impresión")
End If
errores:
Select Case Err.Number
Case Is = 462: a = MsgBox("Microsoft Word fue cerrado antes de
imprimir la Carta", vbCritical, "No se pudo completar la operación")
Case Is = 32755: app_word.ActiveDocument.Close (0)
app_word.Visible = False
End Select
limpiar '<- limpia las variables...
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas