Vaciar Portapapeles

Hola; Gracias de antemano por leerme. No logro encontrar -ni con la grabadora- una macro que se ejecute en excel y que vacíe totalmente el portapapeles del office XP de forma automática cuando llegue la ejecución de esa instrucción.
¿Alguien me puede ayudar? ¿Cómo se hace? ¿Cuál es la instrucción -en VBA- que debo colocar en la macro para que se vacíe el portapapeles?
Gracias de nuevo

1 respuesta

1
Respuesta de
Te Explico
Si lo que encesitas es borrar del portapapeles algo que ha sido puesto desde la misma instancia de excel basta con que uses Application.CutCopyMode = False
pero si lo que quieres es borrar algo que viene de otra aplicación debes usar apis, te mustro como:
En un modulo agregar lo siguiente:
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Sub Vaciar_Portapapeles()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub
Recuerda tiene que ser en un modulo!
Ahora basta que desde donde quieras hagas la llamada de la rutina Vaciar_Portapapeles
ejemplo:
Private Sub CommandButton1_Click()
Vaciar_Portapapeles
End Sub
Saludos
No logro que me funcione. Uso el Office XP 2002. ¿Qué estoy haciendo mal?
Esto Puede Ayudarte
Sub Limpiar_PortaPapeles
Application.CutCopyMode = False
End Sub
Saludos
jgirj
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: