Access - Word desde Access

 
Vista:

Word desde Access

Publicado por Carles (1 intervención) el 26/04/2005 12:14:34
Hola, mi problema es el siguiente. Necesito abrir el Word desde Access y combinar correspondencia con los datos de una tabla de access y que el archivo de word abierto se grabe con un nombre que proviene del mismo registro de access que estoy utilizando y que dicho archivo de word se grabe en el directorio que yo le indique. Muchas gracias por anticipado. Si tenéis algo parecido intentaré adaptarlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Generación de documentos de Word personalizados desde Access

Publicado por Alejandro (4142 intervenciones) el 01/06/2023 16:41:24
Para abrir Word desde Access, combinar correspondencia con los datos de una tabla de Access y guardar el archivo de Word con un nombre basado en el registro actual de Access, puedes utilizar la automatización de objetos de Word a través de VBA (Visual Basic for Applications). A continuación, se muestra una solución que aborda tu problema:

1. Abre el editor de Visual Basic en Access presionando Alt + F11.
2. En el editor de Visual Basic, inserta un nuevo módulo si no tienes uno.
3. En el nuevo módulo, agrega la siguiente función VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Public Sub GenerarDocumentoWord()
    Dim oWord As Object
    Dim oDoc As Object
    Dim directorio As String
    Dim nombreArchivo As String
    Dim strSQL As String
    Dim rs As DAO.Recordset
 
    ' Establece la ruta del directorio donde se guardará el archivo de Word
    directorio = "C:\Ruta\Directorio\" ' Reemplaza con tu ruta deseada
 
    ' Crea una consulta para obtener los datos relevantes de la tabla de Access
    strSQL = "SELECT * FROM TuTabla WHERE TuCampoID = <ID_Registro>"
 
    ' Reemplaza "TuTabla" con el nombre de tu tabla y "TuCampoID" con el nombre del campo que identifica el registro actual
 
    ' Abre la conexión con la base de datos de Access
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    ' Verifica si se encontró un registro válido
    If Not rs.EOF Then
        ' Obtiene el nombre del archivo basado en los datos del registro actual
        nombreArchivo = rs!CampoNombreArchivo ' Reemplaza "CampoNombreArchivo" con el nombre del campo que contiene el nombre del archivo en tu tabla
 
        ' Crea una instancia de Word
        Set oWord = CreateObject("Word.Application")
 
        ' Crea un nuevo documento en Word
        Set oDoc = oWord.Documents.Add
 
        ' Realiza la combinación de correspondencia utilizando los datos del registro actual
        ' Aquí puedes agregar el código para personalizar la combinación de correspondencia según tus necesidades
 
        ' Guarda el documento de Word con el nombre y la ubicación especificados
        oDoc.SaveAs directorio & nombreArchivo & ".docx"
 
        ' Cierra el documento de Word
        oDoc.Close
 
        ' Cierra Word
        oWord.Quit
 
        ' Limpia los objetos
        Set oDoc = Nothing
        Set oWord = Nothing
 
        ' Cierra el recordset
        rs.Close
        Set rs = Nothing
    Else
        ' Si no se encontró un registro válido, muestra un mensaje de error o realiza las acciones apropiadas
        MsgBox "No se encontró un registro válido."
        rs.Close
        Set rs = Nothing
    End If
End Sub

4. Reemplaza "TuTabla" con el nombre de tu tabla, "TuCampoID" con el nombre del campo que identifica el registro actual y "CampoNombreArchivo" con el nombre del campo que contiene el nombre del archivo en tu tabla.
5. Modifica la variable "directorio" con la ruta del directorio donde deseas guardar el archivo de Word.
6. Puedes personalizar el código dentro de la función `GenerarDocumentoWord` para adaptarlo a tus necesidades específicas de combinación de correspondencia y formato de documento.

Una vez que hayas configurado la función, puedes llamarla desde cualquier evento o botón en tu formulario de Access para generar el documento de Word personalizado basado en el registro actual de la tabla.

Recuerda que es importante tener en cuenta los aspectos de seguridad y control de errores al trabajar con la automatización de Word desde Access.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar