• DİKKAT

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

Yazı ve Sayfa Kopyalamayı Engelleme

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
567
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Merhaba Değerli Hocalarımız, Saygılar

İki adet örnek dosya var.
Birinde sayfa kısmında yazı var, diğerinde metin kutusu kısmında yazı var.

Talebim şudur:

Dosyaları açan kişi,
sayfayı da kopyalayamasın, taşıyamasın, =
yani sayfa taşıma ve kopyalama engellensin,
bildiğimiz Ctrl+C yöntemiyle içindeki yazıları da kopyalama yapamasın, = yani hücre ve yazı kopyalama engellensin.



Gerekli kodları oluşturabilir miyiz?
Teşekkürler
 

Ekli dosyalar

Makrosuz olarak yapmak isterseniz

1- çalışma kitabını koruyup şifre girerseniz bu sayede sayfalar kopyalanamaz
2- Sayfayı koruyup açılan pencere kilitli hücreleri seç tikini kaldırın bu sayede tüm hücreler kilitli hücre olarak kabul edilir ve tıklanamaz ve veri girilemez. kaydedip kapatınız

Makrolu olarak şunu deneyebilirsiniz

Excel'de Alt + F11 tuşlarına basarak VBA editörünü açın.
ThisWorkbook bölümüne aşağıdaki kodu ekleyin:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub

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

Unutmayın: Hiçbir yöntem %100 güvenli değildir.
 
İlginize çok teşekkür ederim. Sağ tıklamaya engel oluyor fakat kopyalamaya engel olamadı maalesef.

Sayfa ve çalışma kitabını şifreyle korumak da kopyalamaya engel olamamıştı. Bu yüzden konu açmayı düşünmüştüm.

Ayrıca en son cümleniz çok doğru; Hiçbir yöntem %100 güvenli değil.
 
Üstte verilen kod "sayfada yazı örnek" çalışma kitabında kopyalamaya izin vermemektedir.

Metin kutusunu engellemek için bu kodu denermisiniz

Private Sub Workbook_Open()
Dim ws As Worksheet
Dim shp As Shape

For Each ws In ThisWorkbook.Worksheets
ws.Protect Password:="password", UserInterfaceOnly:=True

For Each shp In ws.Shapes
If shp.Type = msoTextBox Then
shp.Locked = True
End If
Next shp
Next ws
End Sub
 
Bilgisayara geçince hemen deneyeceğim, teşekkürler.
 
Üstte verilen kod "sayfada yazı örnek" çalışma kitabında kopyalamaya izin vermemektedir.

Metin kutusunu engellemek için bu kodu denermisiniz

Private Sub Workbook_Open()
Dim ws As Worksheet
Dim shp As Shape

For Each ws In ThisWorkbook.Worksheets
ws.Protect Password:="password", UserInterfaceOnly:=True

For Each shp In ws.Shapes
If shp.Type = msoTextBox Then
shp.Locked = True
End If
Next shp
Next ws
End Sub
Emeğinize sağlık, çok güzel.
 
Merhaba,
Aynı dosya içinde farklı bir sayfa açıp o sayfaya kopyalanabiliyor, ya da farklı bir dosyaya yine kolaylıkla kopyalanabiliyor. Bilginiz olsun.
İyi çalışmalar
 
Geri
Üst