Access - combinar access con word

 
Vista:

combinar access con word

Publicado por Vicente (1 intervención) el 19/01/2007 14:05:05
Tengo una aplicación en access hecha con macros donde se generan documentos.
Intento crear un fichero de texto en word con los datos de una tabla para que ese fichero sea consultado por otra aplicación distinta hecha en HP-HIS.
He creado un fichero en word para combinar correpondencia con una consulta que desde word funciona correctamente.
El problema en access con macro es que abro la tabla y al exportar al domumento de word me envia un mensaje diciendo que el fichero de word es de sólo lectura.
Cuando miro las propiedades del fichero de word de combinación no está como sólo lectura.
No tengo apenas conocimientos de VBA por lo que me gustaría poder resolverlo con macros.
Gracias.
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

Crear un fichero de texto en Word desde macros de Access

Publicado por Alejandro (4142 intervenciones) el 01/08/2023 21:42:15
Para resolver el problema de crear un fichero de texto en Word desde macros de Access y evitar el mensaje de "sólo lectura", puedes utilizar la siguiente solución:

1. Crea una macro en Access para exportar los datos a un archivo de texto:
- Abre tu base de datos en Access y ve al módulo de macros.
- Crea una nueva macro o modifica una existente para incluir la acción "TransferText".
- Configura la acción "TransferText" con los siguientes parámetros:
- Nombre del archivo: Especifica la ruta y el nombre del archivo de texto que deseas crear en Word.
- Tipo de exportación: Selecciona "Exportar Texto Delimitado".
- Nombre de la tabla o consulta: Selecciona la tabla o consulta que contiene los datos que deseas exportar a Word.
- Especificación de exportación: Puedes crear una nueva especificación de exportación para ajustar los detalles del formato del archivo de texto.

2. Verifica los permisos de escritura en la carpeta de destino:
- Asegúrate de que la carpeta donde deseas guardar el archivo de texto tenga permisos de escritura para el usuario que está ejecutando la macro. Si la carpeta está protegida y solo tiene permisos de lectura, podría provocar el mensaje de "sólo lectura" al intentar crear el archivo de texto.

3. Usa el objeto FileSystemObject para escribir el archivo de texto:
- Si deseas evitar problemas de permisos o si la macro de Access no te permite exportar directamente a un archivo de texto, puedes usar el objeto FileSystemObject de VBA para escribir los datos en el archivo de texto.

A continuación, se muestra un ejemplo de cómo usar FileSystemObject:

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
Sub ExportarDatosAWord()
    Dim objFSO As Object
    Dim objTexto As Object
    Dim strRutaArchivo As String
    Dim strSQL As String
 
    'Ruta y nombre del archivo de texto a crear
    strRutaArchivo = "C:\Ruta\Archivo.txt"
 
    'Consulta SQL que contiene los datos que deseas exportar
    strSQL = "SELECT Campo1, Campo2, Campo3 FROM NombreTabla;"
 
    'Crea una instancia de FileSystemObject
    Set objFSO = CreateObject("Scripting.FileSystemObject")
 
    'Crea un archivo de texto o sobrescribe el existente
    Set objTexto = objFSO.CreateTextFile(strRutaArchivo, True)
 
    'Escribe los datos en el archivo de texto
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset(strSQL)
    Do While Not rs.EOF
        objTexto.WriteLine rs!Campo1 & ";" & rs!Campo2 & ";" & rs!Campo3
        rs.MoveNext
    Loop
    rs.Close
 
    'Cierra el archivo de texto
    objTexto.Close
 
    'Libera los objetos
    Set objTexto = Nothing
    Set objFSO = Nothing
End Sub

Este código crea un archivo de texto delimitado por punto y coma (;) con los datos de la consulta especificada. Puedes ajustar el código según tus necesidades, como cambiar la consulta SQL o el delimitador en el archivo de texto.

Espero que esta solución te ayude a crear correctamente el archivo de texto en Word desde macros de Access y evites el mensaje de "sólo lectura". ¡Buena suerte!
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