Amigos, necesito de su ayuda, tengo un proyecto creado en Excel VBA, el cual hago combinación de correspondencia utilizando listview, selecciono los checkbox que yo quiero y los envío a una hoja de excel, luego dentro del mismo código abro word y ejecuto combinar correspondencia, después cierro y guardo todo en pdf y abro el pdf.

Quisiera hacer esto mismo pero desde Visual Basic 6.0, logro enviar los datos a excel, y abro plantilla word pero me sale un error que dice que supera los 255 caracteres.

El código que tengo es el siguiente.


Sub Generar_Planilla()

Dim ObjExcel As Excel.Application
Dim ObjLibro As Object

Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Visible = True

Set ObjLibro = ObjExcel.Workbooks.Add("C:\Users\digitador1\Deskto p\Sistema VDC\Base de Datos\ExporTablas.xlsx")


Sheets("reporte2").Select


' LIMPIAR LA HOJA ANTES DE ENVIAR LOS DATOS
If Range("A2").Select = "" Then
' NO HACER NADA SI ESTA LIMPIO
'Else
'Range("A2").Select
'Range(Selection, Selection.End(xlToRight)).Select
'Range(Selection, Selection.End(xlDown)).Select
'Selection.ClearContents
'Range("A2").Select
End If

' TRANSFERIR LOS DATOS SELECCIONADOS

Dim i As Long
Dim Item As Double
Dim Linea As Integer
Linea = 2

' trasnferir datos

Sheets("reporte2").Select
For X = 1 To Me.ListView1.ListItems.Count
If Me.ListView1.ListItems.Item(X).Checked Then

Sheets("reporte2").Cells(Linea, 1) = Me.ListView1.ListItems.Item(X).Text
Sheets("reporte2").Cells(Linea, 2) = Me.ListView1.ListItems.Item(X).ListSubItems(1).Tex t
Sheets("reporte2").Cells(Linea, 3) = Me.ListView1.ListItems.Item(X).ListSubItems(2).Tex t
Sheets("reporte2").Cells(Linea, 4) = Me.ListView1.ListItems.Item(X).ListSubItems(3).Tex t
Sheets("reporte2").Cells(Linea, 5) = CDate(Me.ListView1.ListItems.Item(X).ListSubItems( 4).Text)
Sheets("reporte2").Cells(Linea, 6) = Me.ListView1.ListItems.Item(X).ListSubItems(5).Tex t
Sheets("reporte2").Cells(Linea, 7) = Me.ListView1.ListItems.Item(X).ListSubItems(6).Tex t
Sheets("reporte2").Cells(Linea, 8) = Me.ListView1.ListItems.Item(X).ListSubItems(7).Tex t
Sheets("reporte2").Cells(Linea, 9) = Me.ListView1.ListItems.Item(X).ListSubItems(8).Tex t

Linea = Linea + 1
End If

' ObjExcel.ActiveWorkbook.SaveAs ("C:\Users\PC-FELIPE\Desktop\Proyectos V.B 6.0\Sistema VDC\Base de Datos\ExporTablas.xlsx")
' ObjExcel.ActiveWorkbook.Close
'
' Set ObjLibro = Nothing
' Set ObjExcel = Nothing
Next

Call abrir_planillaword


End With

End Sub

sub abrir_planillaword()
Dim WORD As WORD.Application
Dim DOC As WORD.Document

Set WORD = CreateObject("Word.Application")
WORD.Visible = True

Set DOC = WORD.Documents.Open("\\SVR-VCERRO\Remuneraciones\Felipe Torres\Database\Planilla_Remuneraciones.docx")

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
C:\Users\digitador1\Desktop\Sistema VDC\Base de Datos\ExporTablas.xlsx", _
ConfirmConversions:=True, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\digitador1\Desktop\Sistema VDC\Base de Datos\ExporTablas.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;" _
, SQLStatement:="SELECT * FROM `reporte2$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess

With ActiveDocument.MailMerge
.Destination = wdSendToPrinter
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False

WORD.ActiveDocument.Save
WORD.Quit
Set DOC = Nothing
Set WORD = Nothing

Me.ListView1.Refresh
Call abrirPDF

End With

Sub abrirPDF()
ruta = "\\SVR-VCERRO\Remuneraciones\Felipe Torres\Database\Reporte Planillas.pdf"
ActiveWorkbook.FollowHyperlink Address:=ruta, NewWindow:=True
End Sub


Necesito hacerlo de esta forma (combinar correspondencia), ya que la plantilla cambia cada mes, por lo que no puedo hacer un reporte en datareports o crystal reports, ya que tendría que abrir el proyecto todos los meses para actualizar el reporte.