Вы можете попробовать этот код VBA, чтобы проверить, есть ли в буфере обмена данные изображения или нет, и если он есть, то этот код будет препятствовать его вставке.
Помните, что действие Ctrl + C может быть остановлено только путем его отключения. Поэтому я считаю, что это лучшее из возможных решений.
Обратите внимание, что перед выполнением этого кода VBA в редакторе VB нажмите « Инструмент», затем « Ссылки» и выберите « Библиотеку объектов Microsoft Form 2.0» .
Лучше использовать код с событием Open Workbook.
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. Вам также необходимо создать одно событие нажатия кнопки, чтобы активировать режим обрезки . Этот простой код сделает это.
Application.CutCopyMode = True Application.DisplayAlerts = Ture
Этот код был проверен мной, прежде чем я разместил его здесь.