Aşağıdaki kod sanırım işinizi görür,bu kodu kopyalanmasını istemediğiniz sayfanın kod sayfasına kopyalayın. Tuşların kullanımını iptal etmez ama kopyalayıp yapıştırılmasına izin vermez.
[vb:1:e6ff3d0e7d]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub
[/vb:1:e6ff3d0e7d]
Eğer aşağıdaki kodu ThisWorkbook sayfasına kopyalarsanız bu kez kitabın hiç bir sayfasında kopyalamaya izin vermeyecektir.
[vb:1:e6ff3d0e7d]Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub[/vb:1:e6ff3d0e7d]
Sayın LeventM bahsi geçen kodu her iki şekildede kullandım ancak klavyeden CTRL+C tuşu yinede çalıştı ve tabiki başka bir excel sayfasınada yapıştırma işlemi gerçekleşti. Ben sadece bu excel kitabında klavyeden kopyala-yapıştır tuşunu pasif hale getirilebilirmi ? Bunu kastetmiştim.sanırım çözümü yok galiba...
[vb:1:07a2d478b1]Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CopyObjectsWithCells = False
End Sub [/vb:1:07a2d478b1]
yardımınız için teşekkürler, ancak bu şekildede olmadı...
Benim amacım şuydu...
herhangi bir excel sayfasından kopyalama yapılmasını engellemekti. menüler ve sağ tuşu iptal etmek mümkün oluyor ve geriye sadece klavyeden kopyala-yapıştır kalıyordu...Bu seçeneğide iptal etmek istemiştim...
[vb:1:0c1e263ef2]
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.SendKeys ("{ESC}")
End Sub[/vb:1:0c1e263ef2]
ayrıca dosya açılışına
Application.OnKey "^c", ""
Application.OnKey "^v", ""
ve dosya kapanışına
Application.OnKey "^c"
Application.OnKey "^v"
bizim gibi paylaşımcı bir foruma böyle sorular tuhaf oluyor .proogramı değil içindeki bilgiyi bile paylaşmam diyorsunuz...printscreen'i engelleyemezsiniz nasılsa
Kullanıcıların çalışma kitabını açtıklarında kesme/kopyalama ve yapıştırma komutlarını kullanamaz.
Sub DisableCutAndPaste()
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
' BU KOD KISITLAMALARI AKTİF YAPAR
Sub EnableCutAndPaste()
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
bunlarıiptal ettiniz ama farklı kaydedi engellemediniz. bunun içinde aşağıdaki gibi kullanın
Aşağıdaki kod kullanıcının kullanmakta olduğu dosyasını (farklı kaydet) yapmasını engeller.
'KOD Thisworkbook'a yazılacak
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True'False farklı kaydede izin verir.
End If
End Sub
not: bu kodlar syn NURZİYA HİÇDURMAZ ' aittir
kolay gelsin
farklı kaydedi engellemek için deaşağıdaki kodları kullanın
Her 2 çözüm için çok teşekkürler...problem çözüldü ancak ara ara şöyle bir sorun oluşuyor. Kullanılan dosyada bir takım menuler kapanıyor fakat diğer excel dosyalarınıda etkiliyor yani sadece çalışılan dosyada kapatmak istiyorum.This workbook kısmına yazdım kodları ve istenilen oluyor ancak konu ile alakasız diğer excel dosyalarıda aynı şekilde etkileniyor.Dikkat ettim eğer kodların olduğu dosyayı ilk açarsam sanki sorun olmuyor gibi ama son kullanıcı tabiki buna her seferinde dikkat edemez.Bunu nasıl engelleyebilirim? (Yani kodlar sadece ilgili dosyada çalışsın.)
NOT : Bu arada bir eleştiriye cevap vereyim."Paylaşımcı bir sitede niye bu gizlilik" diye dane arkadaş yazmış.Benim gizlediğim programcılık açısından bir konu değil sadece benim verdiğim bilgileri hizmet olarak değilde ticarete dökmek isteyen arkadaşlara bir önlem olarak bunu yapmak istiyorum.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.