Saltar al contenido

Excel VBA: ¿cómo borro el portapapeles en otro libro de trabajo en otra aplicación?

Solución:

Desde el libro de trabajo wb pertenece a otro instancia de la aplicación, debe usar

wb.Application.CutCopyMode = False

en lugar de

Application.CutCopyMode = False

dónde wb.Application devuelve la instancia de las aplicaciones que libro de trabajo wb pertenece a.

Lo que hago es simplemente copiar cualquier celda en blanco en mi ActiveWorkbook una vez que pegué los valores que copié anteriormente y ya no los necesito, y esto reemplaza los datos grandes en el Portapapeles con una cadena vacía (comparativamente nada) y me permite cerrar el libro de trabajo cuando lo necesito.

Entiendo que esto es más bien una solución, pero funciona todo el tiempo.

Otra solución

Lo que deberías intentar es conseguir el MSForms DataObject e intenta ponerlo en el portapapeles

Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject

y luego bórrelo de la siguiente manera:

clipboard.Clear

Y si esto no funciona, siempre puede configurar el texto del portapapeles en vacío

clipboard.SetText ""
clipboard.PutInClipboard

los Application.CutCopyMode = False no me funcionó para borrar el búfer o dejar de recibir un error al intentar ActiveSheet. Pegar errorActiveSheet. Pegar error

Para borrar un búfer grande, que está produciendo un ActiveSheetEl error de pegar, por ejemplo, es simplemente copiar una celda vacía, por ejemplo Range("A1").Copy, donde la celda A1 estaría vacía o muy pequeña. ¡Esto hará que el búfer sea realmente pequeño! ¡Fácil solución! Quizás no sea exactamente correcto, pero es funcionalmente correcto.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *