Access - Guardar Word en campo memo

 
Vista:

Guardar Word en campo memo

Publicado por Nicolas (2 intervenciones) el 10/01/2007 16:16:30
Buenos dias, queria saber si hay alguien que pueda ayudarme con lo que necesito hacer...

Yendo al grano... Necesito guardar un word en un campo memo de una tabla, se que se puede pero no se como.
Tengo hecho hasta abrir y guardar el path del archivo, pero... COMO SIGO????
Bueno, saludos y espero que alguien pueda ayudarme...
Nicolas
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

Guardar documento de Word en un campo Memo de una tabla

Publicado por Alejandro (4142 intervenciones) el 01/08/2023 18:06:29
¡Buenos días, Nicolás!

Con gusto te ayudo a continuar con tu requerimiento. Para guardar un documento de Word en un campo memo de una tabla en Microsoft Access, necesitarás utilizar la biblioteca de objetos de Word y trabajar con código VBA. A continuación, te proporciono los pasos para hacerlo:

1. Asegúrate de haber configurado una referencia a la biblioteca de objetos de Word en tu base de datos de Access. Para ello, ve a la ventana del editor de VBA (presiona Alt + F11), selecciona "Herramientas" en la barra de menú y luego "Referencias". Busca y marca la referencia "Microsoft Word XX.0 Object Library" (donde "XX.0" representa la versión de Word que tienes instalada).

2. Crea un campo de tipo Memo en la tabla donde deseas almacenar el documento de Word.

3. En el formulario donde tienes el botón para abrir y guardar el archivo, utiliza un cuadro de diálogo de archivo (FileDialog) para seleccionar el archivo de Word que deseas guardar en la tabla. Puedes hacerlo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub btnSeleccionarArchivo_Click()
    Dim dlg As FileDialog
    Dim rutaArchivo As String
 
    Set dlg = Application.FileDialog(msoFileDialogFilePicker)
    dlg.AllowMultiSelect = False
 
    If dlg.Show = -1 Then ' El usuario ha seleccionado un archivo
        rutaArchivo = dlg.SelectedItems(1)
        Me.txtRutaArchivo.Value = rutaArchivo ' Donde txtRutaArchivo es el cuadro de texto donde guardas la ruta del archivo
    End If
 
    Set dlg = Nothing
End Sub

4. Luego, para guardar el contenido del archivo seleccionado en el campo memo de la tabla, debes utilizar código VBA junto con la biblioteca de objetos de Word. Puedes hacerlo de esta manera:

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
Private Sub btnGuardarEnTabla_Click()
    Dim rutaArchivo As String
    Dim contenidoArchivo As String
    Dim objWord As Word.Application
    Dim objDoc As Word.Document
 
    rutaArchivo = Me.txtRutaArchivo.Value ' Donde txtRutaArchivo es el cuadro de texto donde guardas la ruta del archivo
 
    ' Verificar si se ha seleccionado un archivo
    If Len(rutaArchivo) = 0 Then
        MsgBox "Primero debes seleccionar un archivo.", vbExclamation
        Exit Sub
    End If
 
    ' Crear una instancia de Word y abrir el documento seleccionado
    Set objWord = New Word.Application
    Set objDoc = objWord.Documents.Open(FileName:=rutaArchivo, ReadOnly:=True)
 
    ' Leer el contenido del documento y guardarlo en la variable contenidoArchivo
    contenidoArchivo = objDoc.Content.Text
 
    ' Cerrar el documento y cerrar Word
    objDoc.Close
    objWord.Quit
 
    ' Guardar el contenido del documento en el campo memo de la tabla
    ' Donde NombreTabla es el nombre de tu tabla y CampoMemo es el nombre del campo memo
    CurrentDb.Execute "UPDATE NombreTabla SET CampoMemo='" & Replace(contenidoArchivo, "'", "''") & "' WHERE ID=1;"
 
    MsgBox "El archivo se ha guardado correctamente en la tabla.", vbInformation
End Sub

En este código, asumo que tienes un cuadro de texto llamado "txtRutaArchivo" donde guardas la ruta del archivo seleccionado. Al hacer clic en el botón "btnGuardarEnTabla", el contenido del archivo se guardará en el campo memo de la tabla.

Recuerda reemplazar "NombreTabla" y "CampoMemo" con los nombres reales de tu tabla y campo memo, y asegurarte de que tengas los permisos necesarios para actualizar la tabla.

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