Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

copiar el contenido de un word en otro con vb 6

Estas en el tema de copiar el contenido de un word en otro con vb 6 en el foro de Visual Basic clásico en Foros del Web. estimados tengo un problema estoy copiando el contenido de un word a otro (plantilla) , mi problema el siguiente es que puedo copiar copiar y ...
  #1 (permalink)  
Antiguo 30/10/2009, 14:11
Avatar de cjzava  
Fecha de Ingreso: enero-2006
Mensajes: 41
Antigüedad: 18 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
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 00:40.