• DİKKAT

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

excel sayfasında Copy/paste olayını engelleme

  • Konbuyu başlatan Konbuyu başlatan algil
  • Başlangıç tarihi Başlangıç tarihi
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba
Arama yapmama rağmen bulamadım. Ben bir excel sayfasını tümünü veya seçilmiş bir bölümünün kopyalanıp başka bir excel sayfasına yapıştırılmasını engellemek istiyorum. Bunu nasıl yapabilirim. Bunun için bir kod var mı?
 
Aşağıdaki kodu sayfanın kod sayfasına kopyalayarak deneyin.

[vb:1:2861856e9f]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub
[/vb:1:2861856e9f]
 
Yukarıdaki kod sadece kendi sayfasında engelleme yapıyor, tüm sayfalar için aşağıdakini deneyin. Bu kodda thisworkbook sayfasına kopyalanmalıdır.

[vb:1:93ec3bbd1a]Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub
[/vb:1:93ec3bbd1a]

Başka bir dosyaya kopyalanmasını engellemek içinde aşağıdaki koduda yukarıdaki kod ile beraber kullanın.

[vb:1:93ec3bbd1a]Private Sub Workbook_Deactivate()
Application.CutCopyMode = False
End Sub
[/vb:1:93ec3bbd1a]
 
Merhaba;

Gerçi cevap verilmiş ama alternatif olması açısından;

Eğer dosya açılırken kullanıcının makroları devreye sokacağından eminsen, aşağıdaki kodları boş bir standard module yerleştir, dosyayı kaydet, kapat ve daha sonra tekrar aç. Herşey yolunda gittiyse, XL'in menü çubuklarında, mouse sağ click ile çıkan pop-up pencerelerdeki bazı menüler ile klavye kısayol tuşlaması ile çıkan bazı menüler aktif olmayacaktır. (Save, Copy, Print, VBE, .....)

Kodlarda menülere ID'leri ile referans verilmekte ve böylece İngilizce - Türkçe versiyon farkından dolayı menü etiketlerinin problem çıkartması engellenmiştir.

Sub Auto_Open()
Call OrganizeMenus(False)
Application.OnKey "^p", "" 'Print kısayol
Application.OnKey "^s", "" 'SaveAS kısayol
Application.OnKey "^c", "" 'Copy kısayol
Application.OnKey "^v", "" 'Paste kısayol
Application.OnKey "%{F11}", "" 'VBE kısayol"
End Sub
'
Sub Auto_Close()
Call OrganizeMenus(True)
Application.OnKey "^p" 'Print kısayol
Application.OnKey "^s" 'SaveAs kısayol
Application.OnKey "^c" 'Copy kısayol
Application.OnKey "^v" 'Paste kısayol
Application.OnKey "%{F11}" 'VBE kısayol"
End Sub
'
Sub OrganizeMenus(MyBoolean As Boolean)
On Error Resume Next
For Each Ctrl In Application.CommandBars.FindControls(ID:=3) 'Save
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=2521) 'Print
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=4) 'Print
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=748) 'Save As
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=1695) 'Visual Basic Editor
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=30029) 'Protection
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=847) 'Delete Sheet
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=19) 'Copy
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=848) 'Move or Copy Sheet
Ctrl.Enabled = MyBoolean
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=1561) 'View Code
Ctrl.Enabled = MyBoolean
Next Ctrl
End Sub
 
merhaba

Evet bende farkettim. ikinci kod tüm çalışma kitabına uyguluyor. Ama benim asıl istediğim benim bir excel sayfasında oluşturduğum yazı, formül ve tablo formatının Copy/past yöntemiyle başka bir excel sayfasına aktarılmasına engel olmak istiyorum. Çünkü oluşturduğum excel sayfası valide edilecek formüller ve formatı kilitlenecek. bunları yaptık ama aynı formatı copy/paste ile alıp başka bir sayfada değiştirilebiliyor. ve print alınıyor. ben buna engel olmak istiyorum.
inşallah anlatabilmişimdir.
teşekkürler
 
kusura bakmayın cevap gelmiş farketmedim inceledikten sonra döneceğim
 
Merhaba;

Ã?rnek verdiğim kodları denediniz mi? İstediğiniz işlemleri yapıyor.
 
Merhaba leventm ve balca

Ã?rnek verdiğim kodları denediniz mi? İstediğiniz işlemleri yapıyor.
göndermiş olduğunuz kodları denedim. hepside sorunsuz çalışıyor. Bu kodlar sayesinde hazırladığım hesaplama tablosu için düşündüğüm güvenliğin daha da üst seviyesine ulaştım. Bu bilgilerin paylaşımına vesile olan board yetkilileri ve bu siteye üye olan herkese teşekkür ediyorum.
Eğer yaptığım çalışmanın draft halini görmek isteyen olursa seve seve paylaşırım.
:mutlu: :mutlu: :mutlu: :mutlu:
 
Arkadaşlar,

kodları kaydedip çalıştırdığımızda,

Ã?zelleştir,komutlar,dosya tabından kaydet butonunu seçerek toolbara yerleştirdiğimizde bu buton niye çalışıyor...Acaba farklı bir ID NO 'sumu alıyor???

Ayrıca CTRL+INSERT hala kopyalamaya devam ediyor..

iyi çalışmalar..
 
Merhabalar

Bu kodlar sayesinde hazırladığım hesaplama tablosu için düşündüğüm güvenliğin daha da üst seviyesine ulaştım.
bazı eksiklikler kullanıldıkça ortaya çıkyor. Yukarda bahsettiğim güvenliğin yeterli olmadığını gördüm. Çünkü macro güvenliği yüksek veya çok yüksek olan sistemlerde macro ile sağlanan hiçbir koruma devreye girmiyor. Sadece hücrelere ait korumalardevrede kalıyor. Bu aşamada aklıma gelen tek şey, dosyayı açtığımızda macro güvenliği yüksek veya çok yüksek olan sistemlerde excel sayfasının açılmaması gerekmektedir. Bunu yapabilirmiyiz?
 
macro güvenliği yüksek veya çok yüksek olan sistemlerde excel sayfasının açılmaması gerekmektedir. Bunu yapabilirmiyiz?

Maalesef yapamazsınız, zaten yapabilseydiniz. Makro güvenliği söz konusu olamazdı. Bir Excel dosyası için en güvenilir koruma yöntemi tam garantili olmasada dosyayı şifrelemektir.
 
Balca;

İlginç kodlarmış ... paylaştığın için teşekkürler.
 
Kadife Diyor Ki!

Arkadaşlar, kodları kullandım fakat maous üzerinde kesme işlemi aktif değil zannedersem...
Ben maous üzerindeki kesme işlemini bir şekilde iptal ettim ama tekrar geri alamıyorum :=)
yardımcı olursanız sevinirim...
 
Arkadaşlar,
Balcanın yukarıda belirtiği code ları dosyamda kullandım. Auto_open ve auto_close olarak iki makro çalışmakta. Auto_close dediğimizde copy, paste, save, save as gibi ozellikler çalısmasına rağmen hücler ile ilgili o
özellikler aktif hale gelmiyor. Validation mesela.

Ben bu code ları nasıl kaldırabilirim. Çünkü dosya üzerinde hala çalışma yapmam gerekiyor. Dosyam ekte yer alıyor yardımcı olur musunuz?

Teşekkürler.
 
Dosyanızın temizlenmiş hali ektedir.
 
çok teşekkürler sayın leventm
 
Sayın Levent Menteşoğlu çok teşekkürler. Uzun zamandır aradığım bir özelliği sayenizde öğrenmiş oldum. Sağlıcakla kalın.
 
Yukarıdaki kod sadece kendi sayfasında engelleme yapıyor, tüm sayfalar için aşağıdakini deneyin. Bu kodda thisworkbook sayfasına kopyalanmalıdır.

Kod:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Başka bir dosyaya kopyalanmasını engellemek içinde aşağıdaki koduda yukarıdaki kod ile beraber kullanın.

Kod:
Private Sub Workbook_Deactivate()
Application.CutCopyMode = False
End Sub

Güzel kodlar ama kopyala yapıp bir text dosyasına yapıştıralabiliniyor, sonra da or'dan kopyalanıp istenilen excel dosyasına yapıştırılabilinir.
 
Geri
Üst