** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Word
  Mensajes nuevos Mensajes nuevos RSS - Combinar correspondencia Word Excel
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCombinar correspondencia Word Excel

 Responder Responder
Autor
Mensaje
josflix Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 17/Febrero/2007
Localización: Mexico
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Tema: Combinar correspondencia Word Excel
    Enviado: 20/Mayo/2010 a las 04:31
Hola a todos, estoy tratando de combinar correspondencia desde Word usando una hoja (Tabla) de Excel, he creado una macro pero al correrla no abre la tabla que contiene los datos para agregar a mi documento word.
¿Alguna idea? Dejo el código como está hasta ahora.

Sub CombinarWordExcel()
Dim Ruta As String 'Es el documento que quiero abrir
Dim MiHoja As Variant 'Es la hoja donde tengo los datos
Dim RutaBuscar As String ' es la ruta por defecto


    Selection.HomeKey Unit:=wdStory
    Selection.EndKey Unit:=wdLine
   
    RutaBuscar = Options.DefaultFilePath(wdCurrentFolderPath)

   
        With Dialogs(wdDialogFileOpen)
            .Name = "*.XLS"
            .Display
            Ruta = .Name
        End With
        Ruta = RutaBuscar & "\" & Ruta
    MiHoja = InputBox("Escriba correctamente el nombre de la hoja que contiene la base de datos", "Conexión a base de datos")
        If IsNull(MiHoja) Or IsEmpty(MiHoja) Or MiHoja = "" Then
            MsgBox "Debe dar un nombre de hoja válido", vbCritical, "¿¿Cuidado!!"
            Exit Sub
        End If
   
    ActiveDocument.MailMerge.OpenDataSource Name:=Ruta, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=Ruta ;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet" _
        , SQLStatement:="SELECT * FROM " & "`" & MiHoja & "`$", SQLStatement1:="", _
        SubType:=wdMergeSubTypeAccess
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
        , Text:="""SIIP"""
    Selection.MoveDown Unit:=wdLine, Count:=1
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
        , Text:="""NOMBRE"""
    Selection.TypeText Text:=" "
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
        , Text:="""PATERNO"""
    Selection.TypeText Text:=" "
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField _
        , Text:="""MATERNO"""
End Sub

josflix
Saludos desde Mexico, D.F.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3135
Enlace directo a este mensaje Enviado: 20/Mayo/2010 a las 09:59
Hola.
Suponiendo que la ruta, nombre del fichero y nombre de la hoja son los correctos, prueba con los siguientes cambios:
 
     "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & Ruta & ";Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet" _
        , SQLStatement:="SELECT * FROM " & "`" & MiHoja & "$`", SQLStatement1:="",
 
Espero que ayude a resolver la duda.
Ya comentas.
Un saludo a todos
Arriba
josflix Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 17/Febrero/2007
Localización: Mexico
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 21/Mayo/2010 a las 04:05
Hola prga, gracias por responder, he probado y funciona muy bien la solución.
Creo que se puede cerrar este hilo
Nuevamente Gracias
josflix
Saludos desde Mexico, D.F.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable