Access - Insertar archivos

 
Vista:

Insertar archivos

Publicado por seiya (3 intervenciones) el 19/05/2006 20:34:53
Hola Buenas noches a todos:

Lo primero es agredecer de antemano la ayuda que me puedan ofrecer, lo que quiero hacer es lo siguiente:
Tengo un formulario en el cual necesito meter un boton o algo, desde el cual poder guardar en un campo un archivo (un correo del outlook), pero no se como debo hacerlo y tampoco que tengo que hacer para poder visualizar dicho archivo directamente desde el access, agradeceria cualquier ayuda que me puedan prestar

Un saludo
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 y visualizar archivos adjuntos de Outlook

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 00:27:16
Para guardar y visualizar archivos adjuntos de Outlook en Access, puedes seguir los siguientes pasos:

1. Agregar un control de botón en el formulario:
- Abre el formulario en modo diseño.
- Selecciona la pestaña "Diseño" y haz clic en "Botón" para agregar un control de botón al formulario.
- En el Asistente para el evento del botón, selecciona la opción "Código VBA" y haz clic en "Aceptar".

2. Configurar el código VBA para guardar el archivo adjunto:
- En el editor de código VBA, dentro del evento Click del botón, agrega el siguiente código:

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
Private Sub btnGuardarAdjunto_Click()
    Dim objOutlook As Object
    Dim objNamespace As Object
    Dim objFolder As Object
    Dim objMail As Object
    Dim objAttachment As Object
    Dim strAttachmentPath As String
 
    ' Crea una instancia de Outlook
    Set objOutlook = CreateObject("Outlook.Application")
    Set objNamespace = objOutlook.GetNamespace("MAPI")
 
    ' Abre la carpeta de correos
    Set objFolder = objNamespace.GetDefaultFolder(6) ' Valor 6 para la carpeta "Bandeja de entrada"
 
    ' Abre el último correo seleccionado
    Set objMail = objFolder.Items.GetLast
 
    ' Verifica si hay archivos adjuntos
    If objMail.Attachments.Count > 0 Then
        ' Guarda el primer archivo adjunto en la carpeta temporal de Access
        Set objAttachment = objMail.Attachments.Item(1) ' Cambiar el índice si se desea guardar otro adjunto
        strAttachmentPath = Environ$("temp") & "\" & objAttachment.Filename ' Ruta de la carpeta temporal de Access
        objAttachment.SaveAsFile strAttachmentPath
 
        ' Almacena la ruta del archivo en un campo de texto en Access
        Me.txtRutaArchivoAdjunto.Value = strAttachmentPath
 
        ' Abre el archivo adjunto directamente desde Access
        Application.FollowHyperlink strAttachmentPath
    Else
        ' No se encontraron archivos adjuntos
        MsgBox "No se encontraron archivos adjuntos en el correo seleccionado.", vbInformation, "Adjunto no encontrado"
    End If
 
    ' Limpia los objetos
    Set objAttachment = Nothing
    Set objMail = Nothing
    Set objFolder = Nothing
    Set objNamespace = Nothing
    Set objOutlook = Nothing
End Sub

3. Configurar el campo de texto para mostrar la ruta del archivo adjunto:
- Agrega un control de texto en el formulario para mostrar la ruta del archivo adjunto.
- En el evento AfterUpdate del control de texto, puedes utilizar el código `Me.txtRutaArchivoAdjunto.Value` para acceder a la ruta del archivo adjunto guardado.

Con este código, al hacer clic en el botón, se abrirá Outlook y se guardará el primer archivo adjunto del último correo seleccionado en la carpeta temporal de Access. Luego, la ruta del archivo adjunto se almacenará en un campo de texto y se abrirá el archivo directamente desde Access utilizando la función `FollowHyperlink`.

Recuerda que debes tener Outlook instalado y configurado correctamente en tu sistema para que este código funcione.

Espero que esta solución te ayude a guardar y visualizar archivos adjuntos de Outlook en Access. ¡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