
30/10/2009, 14:11
|
 | | | Fecha de Ingreso: enero-2006
Mensajes: 41
Antigüedad: 19 años, 3 meses Puntos: 1 | |
copiar el contenido de un word en otro con vb 6 estimados tengo un problema estoy copiando el contenido de un word a otro (plantilla) , mi problema el siguiente es que puedo copiar copiar y pegar todos los datos y las variables sin inconvenientes, el problema es que cuando voy al archivo fisico que copie (la plantilla con los datos del anterior word) me abre bien pero me lo abre en vista normal y voy a ver -> vista de impresion se ve bien , pero yo necesitaria que se abriera en vista de impresion directamente (ya que esta plantilla tiene un emcabezado y un pie de pag) ya que seguramente los usuarios me lo van a terminar pidiendo
les dejo el codigo para que lo vean y si me puedo ayudar alguno se lo agradeceria
On Error GoTo Error
'Dim oApp_word As New Word.Application
'Dim oDOC_WORD_Dest As New Word.Document
Dim myRange As Word.Range
Dim fs
Dim oFile As File
Dim sAnexos As String
Dim lCantOk As Long 'Cantidad de planillas procesadas con éxito.
Dim lCant As Long 'Cantidad de planillas procesadas.
Dim fso As New FileSystemObject
Dim oApp_word As Object
Dim oDOC_WORD_Dest As Object
Dim oApp_word1 As Object
Dim oDOC_WORD_Orig As Object
Dim pathPlantilla As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set oApp_word = CreateObject("Word.Application")
Set oApp_word1 = CreateObject("Word.Application")
lCantOk = 0
lCant = 0
pathPlantilla = App.path & "\Plantilla\" & sNombrePlantilla & ".doc"
While Not oRs.EOF And Not General.bTerminar
lCant = lCant + 1
LogToFile "Inicio de Proceso a Fdrid: " & CStr(oRs.Fields("fdrid"))
If FileExists(oRs.Fields("PATH")) Then
Set oDOC_WORD_Orig = oApp_word.Documents.Open(CStr(oRs.Fields("PATH")))
Else
LogToFile "Archivo no Encontrado: " & oRs.Fields("PATH")
GoTo continue
End If
If FileExists(pathPlantilla) Then
Set oDOC_WORD_Dest = oApp_word.Documents.Open(pathPlantilla)
Else
LogToFile "Plantilla no Encontrada: " & pathPlantilla
GoTo continue
End If
oDOC_WORD_Orig.Content.Select
oDOC_WORD_Orig.Content.Copy
oDOC_WORD_Dest.Content.Paste
Clipboard.Clear
sAnexos = ""
sAnexos = getAttachments(sArchivadorId, oRs.Fields("fdrid"))
With oDOC_WORD_Dest
.TrackRevisions = False
LogToFile " Cod. Orig: " & .CustomDocumentProperties("Codigo") & " -- > " & IIf(IsNull(oRs.Fields("Fld1")), "", oRs.Fields("Fld1"))
.CustomDocumentProperties("Codigo") = IIf(IsNull(oRs.Fields("Fld1")), "", oRs.Fields("Fld1"))
LogToFile " Titulo: " & .CustomDocumentProperties("Titulo") & " -- > " & IIf(IsNull(oRs.Fields("Fld9")), "", oRs.Fields("Fld9"))
.CustomDocumentProperties("Titulo") = IIf(IsNull(oRs.Fields("Fld9")), "", oRs.Fields("Fld9"))
LogToFile " Unidad Negocio / Servicio : " & .CustomDocumentProperties("Unidad de Negocio / Servicio") & " -- > " & IIf(IsNull(oRs.Fields("Fld4")), "", oRs.Fields("Fld4"))
.CustomDocumentProperties("Unidad de Negocio / Servicio") = IIf(IsNull(oRs.Fields("Fld4")), "", oRs.Fields("Fld4"))
LogToFile " Autor: " & .CustomDocumentProperties("Autor") & " -- > " & oRs.Fields("Fld6")
.CustomDocumentProperties("Autor") = oRs.Fields("fld6")
LogToFile " Tipo de Documento: " & .CustomDocumentProperties("Tipo de Documento") & " -- > " & oRs.Fields("Fld8")
.CustomDocumentProperties("Tipo de Documento") = oRs.Fields("fld8")
LogToFile " N° de Revision: " & .CustomDocumentProperties("Nº de Revision") & " -- > " & IIf(IsNull(oRs.Fields("Fld14")), 0, oRs.Fields("Fld14"))
.CustomDocumentProperties("Nº de Revision") = IIf(IsNull(oRs.Fields("Fld14")), 0, oRs.Fields("Fld14"))
LogToFile " Fecha de Revision: " & .CustomDocumentProperties("Fecha de Revision") & " -- > " & IIf(IsNull(oRs.Fields("Fld16")), "", oRs.Fields("Fld16"))
.CustomDocumentProperties("Fecha de Revision") = IIf(IsNull(oRs.Fields("Fld16")), "", oRs.Fields("Fld16"))
LogToFile " Anexsos: " & .CustomDocumentProperties("Anexos") & " -- > " & sAnexos
'.CustomDocumentProperties("Copia Controlada") = oRs.Fields("")
.CustomDocumentProperties("Anexos") = sAnexos
LogToFile " Revisor: " & .Variables("Revisor") & " -- > " & IIf(IsNull(oRs.Fields("Revisor")), "", oRs.Fields("Revisor"))
.Variables("Revisor") = IIf(IsNull(oRs.Fields("Revisor")), "", oRs.Fields("Revisor"))
LogToFile " Autorizador: " & .Variables("Autorizador") & " -- > " & IIf(IsNull(oRs.Fields("Autoriz")), "", oRs.Fields("Autoriz"))
.Variables("Autorizador") = IIf(IsNull(oRs.Fields("Autoriz")), "", oRs.Fields("Autoriz"))
.Fields.Update
'************************************************* ******
'Actualizo los campos del encabezado de pagina
Set myRange = .Sections(1).Headers(1).Range
myRange.Fields.Update
'Actualizo los campos del cuerpo
Set myRange = .Sections(1).Range
myRange.Fields.Update
End With
'************************************************* ***************************
Dim i As Long
Dim lon As Long
Dim archivo As String
Dim PathErr As String
Dim fldr As Folder
archivo = Trim(oRs.Fields("Path"))
i = InStrRev(archivo, "\") + 1
lon = Len(archivo)
archivo = Mid(archivo, i, (lon - i) + 1)
PathErr = objLectorIni.pathError & CStr(Format(Date, "yyyymmdd")) & "\"
' Valida existencia de directorio donde copia los archivos
If FolderExists(PathErr) = False Then
' Crea Directorio
Set fldr = fso.CreateFolder(PathErr)
End If
'Actualizo los campos del documento
If bGuardarCambios Then
oDOC_WORD_Dest.SaveAs PathErr & archivo
oDOC_WORD_Dest.Close False
oDOC_WORD_Orig.Close False
Set oFile = fs.GetFile(PathErr & archivo)
oFile.Copy oRs.Fields("path"), True
Else
oDOC_WORD_Dest.SaveAs PathErr & archivo
oDOC_WORD_Dest.Close False
oDOC_WORD_Orig.Close False
End If
'********************************************
LogToFile " --> Actualizada "
lCantOk = lCantOk + 1
continue:
Set oDOC_WORD_Dest = Nothing
Set oDOC_WORD_Orig = Nothing
frmPrincipal.IncrementarProgressBar CInt((lCant * 100) / lCantDocs), "Documento procesado => Código=" & oRs.Fields("Fld1") & "/Fdrid=" & oRs.Fields("Fdrid")
DoEvents
oRs.MoveNext
Wend
LogToFile "Cantidad de plantillas procesadas: " & CStr(lCant)
LogToFile "Cantidad de plantillas procesadas con éxito: " & CStr(lCantOk)
If bTerminar Then
LogToFile "Se termino el proceso a pedido del usuario."
End If
GoTo fin
Error:
If oRs.EOF Then
LogToFile "Hubo un error." & CStr(Err.Number) & " " & Err.Description
Else
LogToFile "Hubo un error al convertir plantilla - general.updateDocTemplate()" & " - " & " - " & oRs.Fields("path") & ":" & Err.Number & "/" & Err.Description
GoTo continue
End If
'limpio el objeto
Set oDOC_WORD_Dest = Nothing
Set oDOC_WORD_Orig = Nothing
oApp_word.Quit False
Set oApp_word = Nothing
oApp_word1.Quit False
Set oApp_word1 = Nothing
Set oApp_word = CreateObject("Word.Application")
Set oApp_word1 = CreateObject("Word.Application")
DoEvents
GoTo continue
fin:
oApp_word.Quit False
Set oApp_word = Nothing
oApp_word1.Quit False
Set oApp_word1 = Nothing
Set oFile = Nothing
Set fs = Nothing
DoEvents
End Sub |