| Blog Office VBA | Blog Excel | Blog Access |
Geralmente, se não todas as vezes, desejamos que os nossos Relatórios, Dashboards e Aplicações não sejam copiadas, ou tenham os seus conteúdos e layouts alterados por alguém que inadvertidamente cole dados na nossa planilha.
Geralmente, se não todas as vezes, desejamos que os nossos Relatórios, Dashboards e Aplicações não sejam copiadas, ou tenham os seus conteúdos e layouts alterados por alguém que inadvertidamente cole dados na nossa planilha.
Há como protegê-las dessas intempéries? Sim! Divirta-se com os códigos abaixo:
Sub DisableCutAndPaste()EnableControl 21, False ' cutEnableControl 19, False ' copyEnableControl 22, False ' pasteEnableControl 755, False ' pastespecialApplication.OnKey "^c", ""Application.OnKey "^v", ""Application.OnKey "+{DEL}", ""Application.OnKey "+{INSERT}", ""Application.CellDragAndDrop = FalseEnd SubSub EnableCutAndPaste()EnableControl 21, True ' cutEnableControl 19, True ' copyEnableControl 22, True ' pasteEnableControl 755, True ' pastespecialApplication.OnKey "^c"Application.OnKey "^v"Application.OnKey "+{DEL}"Application.OnKey "+{INSERT}"Application.CellDragAndDrop = TrueEnd SubSub EnableControl (Id As Integer, Enabled As Boolean)Dim CB As CommandBarDim C As CommandBarControlFor Each CB In Application.CommandBarsSet C = CB.FindControl(Id:=Id, recursive:=True)If Not C Is Nothing Then C.Enabled = EnabledNextEnd Sub
Reference:
Bill Manville
Tags: VBA, Excel, cutting, copying, pasting, cut, copy, past