Excel de oluşturulan bir sayfayı sadece izin verilen bilgisayarlarda kullanabilme

Katılım
19 Ocak 2006
Mesajlar
39
Altın Üyelik Bitiş Tarihi
22-08-2020
Arkadaşlar Exel de bir program yaptım. Ve bu programın sadece istediğim bilgisayarlarda çalışmasını istiyorum ... Yani kopyalarak çoğaltılmasını engellemek istiyorum ... Bunu yapabilirmiyim ... Şimdiden Teşekkürler ...
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Kod arşivlerinde şöyle bir makro mevcut;

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Sub ComputerName()
Dim lngTemp As Long, strPCName As String
strPCName = Space(256)
lngTemp = GetComputerName(strPCName, Len(strPCName))
If strPCName <> "MYCOMPUTER" Then Exit Sub
End Sub

"MYCOMPUTER" benim kullanmış olduğum pc'nin adı. Siz kendi kullandığınız pc'ye göre ismi değiştirirseniz ve kodlarınızı;

If strPCName <> "MYCOMPUTER" Then Exit Sub

satırının altına kalacak şekilde yazarsanız başka pc'de çalışmaz. Tabi ki biraz kafası çalışan bir insan bunu çözecektir. Makrolarınızı şifrelemeniz halinde biraz daha yüksek güvenlik elde edebilirsiniz ancak elektronik ortamlarda hiç bir zaman % 100 güvenlik diye bir şey söz konusu olamaz.
 
Katılım
19 Ocak 2006
Mesajlar
39
Altın Üyelik Bitiş Tarihi
22-08-2020
Kod arşivlerinde şöyle bir makro mevcut;

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Sub ComputerName()
Dim lngTemp As Long, strPCName As String
strPCName = Space(256)
lngTemp = GetComputerName(strPCName, Len(strPCName))
If strPCName <> "MYCOMPUTER" Then Exit Sub
End Sub

"MYCOMPUTER" benim kullanmış olduğum pc'nin adı. Siz kendi kullandığınız pc'ye göre ismi değiştirirseniz ve kodlarınızı;

If strPCName <> "MYCOMPUTER" Then Exit Sub

satırının altına kalacak şekilde yazarsanız başka pc'de çalışmaz. Tabi ki biraz kafası çalışan bir insan bunu çözecektir. Makrolarınızı şifrelemeniz halinde biraz daha yüksek güvenlik elde edebilirsiniz ancak elektronik ortamlarda hiç bir zaman % 100 güvenlik diye bir şey söz konusu olamaz.
Üstad bu satırın altında kalacak şekilde derken ? neden bahsettiğini anlamadım ...
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Yani kodlarınız;

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Sub ComputerName()
Dim lngTemp As Long, strPCName As String
strPCName = Space(256)
lngTemp = GetComputerName(strPCName, Len(strPCName))
If strPCName <> "MYCOMPUTER" Then Exit Sub

.... 'kodlarınız
.... 'kodlarınız

End Sub


şeklinde olmalı. Örnek bir dosya eklerseniz eminim ilgilenen bir çok kişi çıkacaktır.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,491
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalayıp gerekli değişikleri yaparak deneyiniz.

Değişecek yerler "ABC" diye başlayan yere kendi izin verdiğiniz bilgisayar adlarını yazınız.

Kod:
Private Sub Workbook_Open()
If Environ("ComputerName") = "ABC1" Then
ElseIf Environ("ComputerName") = "ABC2" Then
ElseIf Environ("ComputerName") = "ABC3" Then
Else
    MsgBox "Bu Dosya İzin Vermediğim Bilgisayarda Çalışmaz....."
    ThisWorkbook.Close SaveChanges:=False
End If
End Sub
 
Katılım
12 Temmuz 2010
Mesajlar
47
Excel Vers. ve Dili
2010 English
Peki bu ComputerName kısmını çoğaltabilir miyiz? Burada şu isimli bilgisayarda çalışsın diyoruz.

Bunu artırıp birden fazla bilgisayar ismini yazıp sadece belirli bilgisayarlarda çalışmasını sağlayabilir miyiz? Yoksa hangi bilgisayarda çalışacaksa her bilgisayar için makroyu baştan mı yazmamız gerekir?
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,682
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
İyi Akşamlar

Teşekürler Necdet bey işe yaraması muhtemel.
 
Katılım
19 Ocak 2006
Mesajlar
39
Altın Üyelik Bitiş Tarihi
22-08-2020
Üstad Örnek bir dosya gönderebilir misiniz ?
 
Üst