portapapeles pegar datos copiar vba word-vba clipboard

pegar - copiar portapapeles vba excel



¿Cómo verificar si el portapapeles está vacío de texto? (1)

Muy importante : primero debe establecer una referencia a la "Biblioteca de objetos de Microsoft Forms 2.0" (como en la captura de pantalla adjunta a continuación) antes de implementar este código. Puede encontrar que no es una opción cuando se desplaza por las bibliotecas de referencia. Para que aparezca, simplemente agregue un formulario al proyecto (siempre puede eliminar el formulario más adelante).

Sub CheckClipboard() Dim myDataObject As DataObject Set myDataObject = New DataObject myDataObject.GetFromClipboard If myDataObject.GetFormat(1) = True Then ''''''There is text on clipboard, so it''s safe to paste Else ''''''there is no text on the clipboard, so you may get error. End If End Sub

Si intento pegar desde un portapapeles vacío, aparece un error. Me gustaría comprobar si el portapapeles está vacío de texto antes de pegar para poder evitarlo. ¿Cómo se puede lograr esto? Soy consciente de que se puede hacer mediante el manejo de errores, pero preferiría un método que evite un error.

Editar: por solicitud, agregar código que crea el error y el mensaje de error:

Código que causa el problema:

Sub PasteFromEmptyClipBoard() Selection.Paste End Sub

Mensaje de error que recibo:

"Error en tiempo de ejecución ''4605'' Este método o propiedad no está disponible porque el Portapapeles está vacío o no es válido."