Access - ENVIAR DATOS DESDE ACCESS A UNA PLANTILLA DE WORD

 
Vista:

ENVIAR DATOS DESDE ACCESS A UNA PLANTILLA DE WORD

Publicado por Patri (1 intervención) el 05/06/2004 18:12:26
Necesito pasar unos datos de una tabla de access a word.
Consigo pasar todos los campos, menos un campo de tipo "objeto OLE", a ver si alguien me puede hechar una mano.
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

ENVIAR DATOS DESDE ACCESS A UNA PLANTILLA DE WORD

Publicado por Alejandro (4142 intervenciones) el 06/05/2023 00:51:19
Si estás intentando pasar un campo de tipo "objeto OLE" desde Access a Word, puede haber algunas limitaciones debido a la naturaleza del campo. Los campos de objeto OLE en Access suelen contener objetos incrustados, como imágenes o archivos binarios, que pueden no ser fácilmente transferibles a Word.

Una forma de abordar este problema es extraer los datos del campo de objeto OLE en Access y guardarlos como un archivo separado (por ejemplo, una imagen o un documento) en el disco. Luego, puedes insertar ese archivo en tu documento de Word.

Aquí hay un ejemplo de cómo podrías hacerlo utilizando código VBA en Access:

1. Extraer el campo de objeto OLE y guardarlo como un archivo:

1
2
3
4
5
6
7
8
9
Dim objCampo As Object
Dim strRutaArchivo As String
 
' Obtener el campo de objeto OLE
Set objCampo = Me.NombreTabla!NombreCampo
 
' Guardar el campo como un archivo en una ubicación específica
strRutaArchivo = "C:\Ruta\Archivo.docx" ' Ruta y nombre de archivo deseados
objCampo.SaveToFile strRutaArchivo

2. Insertar el archivo en tu documento de Word:

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
Dim objWord As Object
Dim objDocumento As Object
Dim objRango As Object
 
' Crear una instancia de Word
Set objWord = CreateObject("Word.Application")
 
' Abrir el documento de Word
Set objDocumento = objWord.Documents.Open("C:\Ruta\Documento.docx") ' Ruta y nombre del documento de Word
 
' Obtener un rango en el documento de Word
Set objRango = objDocumento.Content
 
' Insertar el archivo en el rango del documento
objRango.InlineShapes.AddOLEObject , strRutaArchivo
 
' Guardar y cerrar el documento de Word
objDocumento.Save
objDocumento.Close
 
' Cerrar la instancia de Word
objWord.Quit
 
' Liberar los objetos de Word
Set objRango = Nothing
Set objDocumento = Nothing
Set objWord = Nothing

Asegúrate de ajustar las rutas de archivo y los nombres de campo y tabla según tu estructura de base de datos.

Este código te permite extraer el campo de objeto OLE de Access, guardarlo como un archivo y luego insertarlo en tu documento de Word. Puedes personalizarlo según tus necesidades y adaptarlo a tu aplicación.

Espero que esta solución te sea útil.
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