Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como guardar datos en Portapapeles o Clipboard


.

En este post se muestra una macro que permite guardar datos en el Portapapeles o Clipboard de OFFICE, al presionar el menú del portapapeles de office se puede observar como la macro graba el dato, que en el caso del ejemplo, es el número de serie de la PC; se debe dejar en claro que el portapapeles de office tiene una capacidad de 24 registros luego de ello los registros se van superponiendo.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  
Desde el final del post se puede descargar el ejemplo que hemos denominado como guardar datos en portapapeles o clipboard; el archivo es un fichero comprimido .zip, en el se encuentra el archivo con la macro y un archivo de librería denominado FM20.DLL; esta librería es necesaria para que la macro pueda funcionar y manipular el portapapeles de office.

Para que la macro funcione correctamente se debe habilitar una librería denominada «Microsoft Forms 2.0 Object Library», es muy posible que no se encuentre en el listado de referencias disponibles, es por ello que se debe agregar; como se hace eso, sencillo se debe presionar «Examinar» y buscar en «C:WindowsSystem32» o en donde esté instalado Windows; la libreria denominada FM20.DLL.

Una vez encontrado el archivo se debe hacer doble click sobre este, posterior a ello veremos que se encontrará incluida en la listas de Referencias disponibles que se encuentran en este cuadro, luego tildar la referencia «Microsoft Forms 2.0 Object Library» y la macro podrá funcionar correctamente.

Si el archivo FM20.DLL no se encuentra en su PC se debe descargar de internet y simplemente guardarlo en la dirección mencionada luego seguir los pasos mencionados; en el archivo comprimido está incluida la librería que requiere la macro para funcionar.

El ejemplo es muy simple con un código se lee el número de serie de la PC y cuyo número de serie se guarda en la variable nom, que luego se utiliza para copiar en el portapapeles de Office, el código que permite cargar al portapapeles es el siguiente:

objData.SetText nom
objData.PutInClipboard

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo como copiar varias tablas de Excel a Wordbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mailconectar Excel con Access y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

 

Código que se inserta en un módulo

Sub NumeroDeSerie()
Dim objData As New MSForms.DataObject, nom
With CreateObject(«Scripting.FileSystemObject»)
nom = Hex(.Drives.Item(«c:»).SerialNumber)
MsgBox («El número de serie de la PC es » & Hex(.Drives.Item(«c:»).SerialNumber) & » y se grabó en el portapapeles»), vbInformation, «AVISO»
objData.SetText nom
objData.PutInClipboard
End With
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends