kemal turan
Altın Üye
- Katılım
- 10 Haziran 2011
- Mesajlar
- 1,672
- Excel Vers. ve Dili
- Excel 2010 32 bit
- Altın Üyelik Bitiş Tarihi
- 06-10-2032
Merhaba,
Bir excel çalışma kitabında kopyalamayı ve yedek almayı mecbur kılmak için kapat tuşunu kullanmayı engellemeye ihtiyacım var.
Her iki isteği farklı konularda buldum. 2 kodu birleştirdim.
dosya ilk açıldığında kopyalama özelliği pasif oluyor
fakat kapatma tuşunu kullanıp kapatmayı iptal ettiğimde
kopyalama özelliği aktif oluyor.
Bu nasıl düzeltebiliriz. Teşekkür ederim.
Bir excel çalışma kitabında kopyalamayı ve yedek almayı mecbur kılmak için kapat tuşunu kullanmayı engellemeye ihtiyacım var.
Her iki isteği farklı konularda buldum. 2 kodu birleştirdim.
dosya ilk açıldığında kopyalama özelliği pasif oluyor
fakat kapatma tuşunu kullanıp kapatmayı iptal ettiğimde
kopyalama özelliği aktif oluyor.
Bu nasıl düzeltebiliriz. Teşekkür ederim.
Kod:
Option Explicit
Private Sub Workbook_Open()
EnableControl 21, False ' cut
EnableControl 19, False ' copy
EnableControl 22, False ' paste
EnableControl 755, False ' pastespecial
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
EnableControl 21, True ' cut
EnableControl 19, True ' copy
EnableControl 22, True ' paste
EnableControl 755, True ' pastespecial
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = False
''''''''''''KAPATMAYI ENGELLEME KODU ''''''''''''''''''''''''''''
If KONTROL = False Then
Cancel = True
MsgBox "X (Çıkış) düğmesi pasif durumdadır. Lütfen sayfa üzerindeki çıkış düğmesini kullanın.", vbExclamation, "Dikkat !"
End If
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
EnableControl 21, False ' cut
EnableControl 19, False ' copy
EnableControl 22, False ' paste
EnableControl 755, False ' pastespecial
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
EnableControl 21, True ' cut
EnableControl 19, True ' copy
EnableControl 22, True ' paste
EnableControl 755, True ' pastespecial
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub
Sub EnableControl(Id As Integer, Enabled As Boolean)
Dim CB As CommandBar
Dim C As CommandBarControl
For Each CB In Application.CommandBars
Set C = CB.FindControl(Id:=Id, recursive:=True)
If Not C Is Nothing Then C.Enabled = Enabled
Next
End Sub