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."