¿Cómo deshabilitar copiar como imagen en Excel?

1

Recientemente parece que Excel ha realizado el comportamiento predeterminado de copiar como imagen para la tecla de acceso rápido Ctrl+ C(en realidad parece poner el texto formateado, los datos de la celda de la tabla y una imagen de vista de impresión en el portapapeles simultáneamente).

Esto es malo si tiene un flujo de trabajo donde copia datos de Excel y los pega en otra aplicación de MS Office, o en un formulario web en Google Chrome, donde el comportamiento predeterminado de Ctrl+ Ves pegar el contenido más rico disponible. En productos Atlassian como Jira, por ejemplo, esto hace que el pegado active la inserción de "capturas de pantalla" (archivos adjuntos de imágenes).

Entonces la pregunta es:

¿Cómo puedo decirle a Excel que NO ponga datos de imagen en el portapapeles cuando presiono Ctrl+ C?

Soy consciente de que es posible forzar el pegado de texto sin formato en las aplicaciones mencionadas anteriormente. No estoy preguntando cómo hacer eso. Eso es engorroso porque no hay una forma estándar de hacerlo.

Ctrl+ Shift+ Ven Chrome.

Ctrl+ V, Ctrl, TEn Outlook.

etc ...

Superole
fuente

Respuestas:

0

Puede probar este código VBA para verificar si el Portapapeles tiene Datos de imagen o no, y si lo tiene, este código evitará pegarlo.

Recuerde, el efecto de Ctrl + C solo se puede detener deshabilitándolo. Así que creo que esta es la mejor solución posible.

Tenga en cuenta que, antes de ejecutar este código VBA, en VB Editor, haga clic en Herramienta, luego en Referencias y seleccione Biblioteca de objetos de Microsoft Form 2.0 .

Mejor use el código con el evento abierto Libro de trabajo.

Private Sub Workbook_open()

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

   BufObj.GetFromClipboard

   On Error Resume Next
   ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False

    If Err Then
       MsgBox "Nothing in ClipBoard!": Err.Clear

    Else

      MsgBox "Picture in ClipBoard": Err.Clear
      Application.CutCopyMode = False
      Application.DisplayAlerts = False

   End If

End Sub

NB: también debe crear un evento Click del botón de comando para activar el modo de copia de corte . Este simple código lo hará.

Application.CutCopyMode = True

Application.DisplayAlerts = Ture

Probé este código antes de publicarlo aquí.

Rajesh S
fuente