Capturar formulario access como imagen a portapapeles

Necesito poner un botón en un formulario de access que tengo en modo emergente, para que usando el portapapeles de windows, se pegue dicho formulario en forma de imagen en otro programa.

1 Respuesta

Respuesta
1

Este video le sirve, aunque el código de la función no es de autor del canal. No funciona si tiene un capturador de pantalla activado en su sistema, debe desactivarlo. Utilizo esta función para copiar el mapa con Google maps desde Access.

Tomar una captura de pantalla y guardarla en una ruta especifica. - YouTube

Si no quiere complicarse con código, ingrese este código en un botón de comando

Private Sub btnCaptura_Click()
    Dim MiForm As Form
    Set MiForm = Screen.ActiveForm
    DoCmd. OutputTo acOutputForm, MiForm. Name, acFormatPDF, CurrentProject.Path & "\TemForm.pdf"
End Sub

Esto le envía el formulario en pantalla a PDF. pero captura TODO el formulario

¡Gracias! Muchas gracias por responder tan pronto. La sugerencia del vídeo es lo que estaba buscando, y funciona perfectamente. Su aportación es buena también, pero no me interesa en formato pdf, pues se me descuadra el tamaño del formulario y no se adapta a la configuración de página que tengo predeterminada en el acrobat. Le reitero mi agradecimiento. Saludos.

Tengo otro ejemplo mucho más sencillo que el video

Observe puede capturar Al portapapeles, Word o a PDF. Si quiere el ejemplo lo puede solicitar a [email protected] favor en el asunto anotar la consulta. Si elige al portapapeles obtiene una imagen como la figura.

Le voy a explicar la más sencilla, "Al portapapeles":

Copie y pegue este código a nivel de código del formulario

Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub CopiarPantalla()
     keybd_event VK_SNAPSHOT, 1, 0, 0
End Sub

Ingrese este código en el botón desde donde manda hacer la captura del formulario. Por ejemplo:

Private Sub btnPortaPapeles_Click()
  Call CopiarPantalla
End Sub

No es más ya tendrá el formulario en el portapapeles, funciona pero no debe tener programas capturadores activos, en este caso ciérrelos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas