Disabled копия пасты в Excel работает со следующим кодом:Отключить Копировать/Вставить
Option Explicit
Sub ToggleCutCopyAndPaste(Allow As Boolean)
Call EnableMenuItem(21, Allow)
Call EnableMenuItem(19, Allow)
Call EnableMenuItem(22, Allow)
Call EnableMenuItem(755, Allow)
Application.CellDragAndDrop = Allow
With Application
Select Case Allow
Case Is = False
.OnKey "^c", "CutCopyPasteDisabled"
.OnKey "^v", "CutCopyPasteDisabled"
.OnKey "^x", "CutCopyPasteDisabled"
.OnKey "+{DEL}", "CutCopyPasteDisabled"
.OnKey "^{INSERT}", "CutCopyPasteDisabled"
Case Is = True
.OnKey "^c"
.OnKey "^v"
.OnKey "^x"
.OnKey "+{DEL}"
.OnKey "^{INSERT}"
End Select
End With
End Sub
Sub EnableMenuItem(ctlId As Integer, Enabled As Boolean)
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl
For Each cBar In Application.CommandBars
If cBar.Name <> "Clipboard" Then
Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True)
If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled
End If
Next
End Sub
Sub CutCopyPasteDisabled()
MsgBox "Sorry! Cutting, copying and pasting have been disabled in this workbook!"
End Sub
но когда я дважды щелкните в ячейке, а затем я могу сделать что-нибудь там вырезать, копировать и вставлять.
Как отключить копирование, даже дважды щелкнув по ячейке?
пожалуйста, не надо! copy-paste - самая удобная операция пользователя. И вы, вероятно, ничего не помешаете –
почти всегда есть хакерские способы извлечь текст –
Да, но мне это нужно какое-то время нарочно. И приведенный выше код работает. Только я не могу предотвратить использование двойного щелчка. Обычно его показ отключен только после того, как он не работает после двойного щелчка по ячейке. – user3766722