Access - Vincular campo a un archivoWord

 
Vista:

Vincular campo a un archivoWord

Publicado por Sergio (1 intervención) el 05/11/2004 11:25:17
Hola me llamo Sergio.
Mi problema es simple. Tengo una tablacon un campo de tipo objeto OLE para almacenar un archivo Word (ruta+nombre). Lo que quiero hacer es que cuando se de alta un nuevo campo, dicho campo se rellene automaticamente con un archivo Word el que sea, porque mas adelante tengo un campo que cuando hago doble click me abre Word con el archivo que tengo. Pero si le doy doble click y no hay archivo me dice que el objeto esta en blanco y no se deja guardarlo. Se que se puede hacer pinchando el boton secundario e insertando un objeto,pero quiero que lo haga automaticamente cuando inserte un nuevo registro.

Espero que os hayais enterado de mi duda. Si no por favor, ponemos en contacto conmigo a traves del correo e intentare explicarosla mejor.

Gracias por todo y espero que alguien me pueda ayudar.
Chao
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

Rellenar automáticamente campo OLE con archivo Word al dar de alta un nuevo registro

Publicado por Alejandro (4142 intervenciones) el 16/05/2023 16:59:48
Para que el campo OLE de tipo objeto en Access se rellene automáticamente con un archivo Word al dar de alta un nuevo registro, puedes utilizar el siguiente código en el evento "Antes de insertar" del formulario:

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
Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim filePath As String
    Dim wordApp As Object
    Dim wordDoc As Object
 
    ' Ruta del archivo Word que deseas insertar
    filePath = "C:\Ruta\Archivo.docx"
 
    ' Crear una instancia de Word
    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = False
 
    ' Abrir el archivo Word
    Set wordDoc = wordApp.Documents.Open(filePath)
 
    ' Copiar el contenido del archivo Word al campo OLE
    Me.NombreDelCampoOLE.OLETypeAllowed = acOLEEmbedded
    Me.NombreDelCampoOLE.SourceDoc = wordDoc.FullName
    Me.NombreDelCampoOLE.Action = acOLEPaste
 
    ' Cerrar el archivo Word y liberar los objetos
    wordDoc.Close
    wordApp.Quit
    Set wordDoc = Nothing
    Set wordApp = Nothing
End Sub

Reemplaza "NombreDelCampoOLE" con el nombre del campo OLE en tu tabla. Asegúrate de que la ruta de archivo en la variable "filePath" sea la correcta para tu caso.

Este código abrirá el archivo Word especificado, copiará su contenido y lo pegará en el campo OLE del nuevo registro en el formulario antes de insertarlo en la tabla.

Recuerda que debes adaptar el código a tu diseño de formulario y tabla, así como a las necesidades específicas de tu aplicación.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto!
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