• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Klavye tuşlarını kapamak

  • Konbuyu başlatan Konbuyu başlatan ertan7
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba

Klavyeden ctrl+c ve ctrl+v yani kopyala-yapıştır tuşlarını makro ile iptal etmek mümkünmüdür?

Teşekkürler
 
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]
 
LeventM arkadasa gönülden teşekkürler...

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...

Teşekkürler
 
Aşağıdaki şekilde deneyin birde.

[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...

İyi çalışmalar...
 
diğer önlemlerin yanına şunlarıda ekleyin


[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:)
 
günaydın;
aşağıdaki kodları deneyin

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.

Teşekkürler,
 
Geri
Üst