Exportar datos de la Hoja de Propiedades de un control

¡Feliz año a todos!

¡Ojalá que, como yo, haya alguien por aquí!

La cosa es simple. Yo quisiera poder exportar todos los datos de un control de un formulario a, no sé, txt, por ejemplo. Aunque me sirve cualquier otro, Excel, Word, etc.

¿Es eso posible?

1 Respuesta

Respuesta
2

¡Feliz año!

Te pongo un procedimiento "un tanto general", que puedes asociar, por ejemplo, al evento "al hacer clic" de un botón de tu formulario, o "al hacer doble clic" del propio control:

    On Error GoTo sol_err
    Dim prp As Property
    ' Abrimos el archivo de destino (si no existe lo crea)
    Open Application.CurrentProject.Path & "\Propiedades.txt" For Output As #1
    Print #1, "Listado de propiedades del control " & Me.Controls("Lista0").Name & ":"
    Print #1,
    'recorremos las propiedades y las pasamos al txt
    For Each prp In Me.Controls("Lista0").Properties
        Print #1, prp.Name & " = " & prp.Value
    Next prp
Salida:
    Close #1
    Set prp = Nothing
    Exit Sub
sol_err:
    If Err = 2187 Then
        'Propiedad disponible solo en vista diseño
        Print #1, prp.Name & " = Valor no disponible"
        Resume Next
    Else
        MsgBox Err.Number & ": " & Err.Description
        Resume Salida
    End If

El procedimiento escribe los valores a un archivo llamado "Propiedades.txt" que se sitúa en la misma carpeta en que tengas la BD (si el archivo no existe, lo crea el código). Ten en cuenta que cada vez que ejecutes el código, el archivo se sobreescribe (aunque si pones el nombre del control dinámicamente en el código puedes tener tantos txts como controles quieras sacar sus propiedades).

Ten también en cuenta, para la hora de colocar el código en un evento, que hay propiedades que son solo accesibles en vista diseño, otras que necesitan que el control tenga el foco...

Un saludo.


¡Gracias! 

Perdona la tardanza, pero sólo ahora pude acceder de nuevo al sitio.

Voy a copiar el código y ajustarlo y probarlo, pero por lo que leí (en el mismo código) es exactamente lo que buscaba, ¡Gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas