[Çözüldü]  Excel dosyası kullanıcı sınırlama

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Excel dosyası kullanıcı sınırlama

İleti#1)  czy » 21 Haz 2018 03:39

Merhaba Arkadaşlar,

İçerisinde çeşitli hesaplama formülleri ve makro işlemleri bulunan bir excel kitabım var. Bu kitabın kopyalanmasını engellemek için ne yapabiliriz ya da başka bilgisayarlarda kitap içindeki formüllerin çalışmasını engellemek için başka bir veri dosyası oluşturup bu oluşturduğumuz veri dosyasına sahip olmayan bilgisayarlarda formüllerin çalışmasını engelleyebilir miyiz_?

Yardımcı olabilirseniz çok sevinirim.
Kullanıcı avatarı
czy
Yeni Başlamış
 
Adı Soyadı:soner coskun
Kayıt: 20 Haz 2012 17:25
Konum: istanbul
Meslek: muhasebe
Yaş: 33
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Excel dosyası kullanıcı sınırlama

İleti#2)  MDAGISTANLI » 21 Haz 2018 13:47

Merhaba.

Domain ortamında çözüm: RMS (Microsoft Windows Rights Management Services)
Domainde değilseniz çözüm var mı bilmiyorum.
Kullanıcı avatarı
MDAGISTANLI
Yeni Başlamış
 
Kayıt: 28 Arl 2017 18:57
Meslek: Microsoft Sistem Yöneticisi
Yaş: 39
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Başakşehir

Cevap: Excel dosyası kullanıcı sınırlama

İleti#3)  czy » 26 Haz 2018 12:00

Merhabalar,

Cevap için teşekkür ederim. Domain ile ilgili bilgi sahibi değilim. Excel'in içinde daha basit bir şekilde çözüm varmı dır? Klasör içinde bir ".txt" dosyası oluşturup, çalışma kitabını da bu klasör içine alıp ".txt" dosyası olmadan kitabın çalışmamasını sağlayabilir miyiz? Ya da yeni bir excel kitabı oluşturup içine gerekli bilgileri ekleyerek asıl çalışma kitabının bu bilgileri doğrulama yapmadan kitabı yada içindeki formülleri çalıştırmamasını sağlayabilir miyiz?
Veri doğrulama işlevini denedim olmadı , Köprü ve bağ yapıştır işlevlerini denedim onlarda olmadı, dış veri al seçeneğini de denedim o da hata verdi. Vba Kod yazma bilgim çok az bu sebeple makrolar üzerinden ilerlemeye çalışıyorum.
Bu konuda başka bir fikri , bilgisi olan arkadaşlardan yardım rica ediyorum. Ya da bu işlem yapılamıyor ise bilen arkadaşlardan bu işlemin yapılamayacağına dair bilgi paylaşabilirler ise çok sevinirim.

Zaman ayırdığınız için teşekkür ederim.
Kullanıcı avatarı
czy
Yeni Başlamış
 
Adı Soyadı:soner coskun
Kayıt: 20 Haz 2012 17:25
Konum: istanbul
Meslek: muhasebe
Yaş: 33
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Excel dosyası kullanıcı sınırlama

İleti#4)  Bülent » 26 Haz 2018 14:28

Merhaba,

Excel için tam bir güvenlikten söz etmek mümkün değil.
Makrolar ile kısmen önlem alsanız da makroları etkinleştirmeyenlere veya kodları erişip değiştirebilecek kişilere karşı bir etkisi olmayacaktır.

Aşağıdaki kodu kullanarak dosyanızı sadece tek bir bilgisayarda çalışacak hale (yukarıdaki istisnaları dikkate alarak) getirebilirsiniz.

Kod: Tümünü seç
Private Sub Workbook_Open()
ComputerName = "."
Dim serino
winmgmt1 = "winmgmts:{impersonationLevel=impersonate}!//" & ComputerName & ""
Set SNSet = GetObject(winmgmt1).InstancesOf("Win32_BIOS")
For Each SN In SNSet
    serino = SN.SerialNumber
Next
If serino <> "Benim bilgisayarımın seri numarası" Then ThisWorkbook.Close False
End Sub


Yukarıdaki kod dosya açılışında (makrolar etkinleştirilirse) çalışır ve "Benim bilgisayarımın seri numarası"ndan farklı bir bilgisayarda dosya kendini kapatır.
(Ücretli program talepleriniz için iletişime geçebilirsiniz. bulentozturk2@ gmail.com)
Kullanıcı avatarı
Bülent
Yönetim Kurulu
 
Adı Soyadı:Bülent ÖZTÜRK
Kayıt: 15 Haz 2008 02:08
Meslek: Bilgi Sistemleri
Yaş: 42
İleti: 3585
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İst/Çekmeköy

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Excel dosyası kullanıcı sınırlama

İleti#5)  czy » 04 Tem 2018 16:32

Merhaba Bülent Bey,

Öncelikle cevabınız için teşekkür ederim. Amacım yapmış olduğum tabloyu vereceğim kişiler gereksiz kopyalar oluşturup tabloların hata vermesine ve hatalı veri girişine sebep oluyor, bu da bana zaman kaybettirecek durumlara yol açıyor. Bunu engellemek için bir çözüm bulmaya çalışıyorum. Bilen ve anlayan kişiler zaten girip istediği şekilde kullanabilir, bakabilir.
Bugün uygulama fırsatı buldum vermiş olduğunuz kodu fakat çalışmadı. Sadece seri no alanındaki seri numara kısmını "If serino <> "**********************************ı" Then ThisWorkbook.Close Fals" değiştirdim. Başka bir satırda değişiklik yapılması gerekiyor muydu? Eğer zamanınız olu ise bir herhangi bir excel sayfasına uygulanmış hali ile ve değişiklik yapılabilecek şekilde örnek ekleyebilir misiniz?

Yardımlarınız için teşekkür ederim.
Kullanıcı avatarı
czy
Yeni Başlamış
 
Adı Soyadı:soner coskun
Kayıt: 20 Haz 2012 17:25
Konum: istanbul
Meslek: muhasebe
Yaş: 33
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Excel dosyası kullanıcı sınırlama

İleti#6)  Bülent » 11 Tem 2018 10:19

Merhaba,

Örnek dosya ektedir.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
(Ücretli program talepleriniz için iletişime geçebilirsiniz. bulentozturk2@ gmail.com)
Kullanıcı avatarı
Bülent
Yönetim Kurulu
 
Adı Soyadı:Bülent ÖZTÜRK
Kayıt: 15 Haz 2008 02:08
Meslek: Bilgi Sistemleri
Yaş: 42
İleti: 3585
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İst/Çekmeköy

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Excel dosyası kullanıcı sınırlama

İleti#7)  czy » 19 Tem 2018 12:03

Merhaba Bülent bey,

Göndermiş olduğunuz örnek dosyayı indirdim. Vermiş olduğunuz kodu hazırlamış olduğum excel dosyasına çeşitli şekillerde 7-8 gündür denemeler yaparak uyguladım. Fakat sağlıklı bir sonuç elde edemedim. Mutlaka uygulama yapar iken bir yerde hata yapıyorum.
Sizi çok yormayacak ise yazmış olduğunuz kodun hangi mantıkla çalıştığı hakkında bilgi verebilir misiniz_?
(1. Satırdaki kod nereye başvuru yapıyor ve neyi sorguluyor, 2. Satırdaki kod hangi işlemi yapıyor, 3. satırdaki tırnak işareti içine alınmış koda bilgisayarındaki şu veriyi girmelisin... v.s. diye)

Yapmış olduğum denemelerde;
-Kodu orjinal excel dosyasının içine yapıştırdığım da dosyayı kapatıp tekrar açtığımda "makro etkinleştir" seçeneği geliyor ve etkinleştirme yaptığımda dosya kitleniyor, sadece beyaz bir excel sayfası kalıyor. Kod alanında hiçbir şey gözükmüyor. Sadece etkin olmadan önce kod alanında silme-yazma işlemine izin veriyor.
-Orjinal dosyayı kod yazılmadan önce kopyalayıp kopya üzerine vermiş olduğunuz kodu yazdığımda ise; kapatıp açtığımda "makro etkinleştir" seçeneği de gelmiyor, tamamen kitleniyor.
-Kod içindeki bilgisayar adı kısmındaki "." alana bilgisayarımın adını yazdım olmadı.
-Kod içindeki "benim bilgisayarımın seri numarası " kısmına seri numarasını yazdım bu da işe yaramadı.
ve bu işlemleri hepsini aynı bilgisayarda uyguladım.
Yazılan kod, benim bilgisayarımda çalışıp başka bilgisayara taşındığında hata uyarısı vermesini sağlamayacak mıydı_?

Yardımlarınız ve sabrınız için teşekkür ederim.
Kullanıcı avatarı
czy
Yeni Başlamış
 
Adı Soyadı:soner coskun
Kayıt: 20 Haz 2012 17:25
Konum: istanbul
Meslek: muhasebe
Yaş: 33
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Excel dosyası kullanıcı sınırlama

İleti#8)  Bülent » 27 Tem 2018 23:02

Merhaba Soner bey,

Kodu kendi dosyanızda aşağıdaki şekilde kullanabilirsiniz:

1 - Önce kodu aşağıdaki gibi değiştirip boş bir excel dosyasında çalıştırarak bilgisayarınızın seri numarasını bulun:

Kod: Tümünü seç
Private Sub Workbook_Open()
ComputerName = "."
Dim serino
winmgmt1 = "winmgmts:{impersonationLevel=impersonate}!//" & ComputerName & ""
Set SNSet = GetObject(winmgmt1).InstancesOf("Win32_BIOS")
For Each SN In SNSet
    serino = SN.SerialNumber
Next
MsgBox serino
End Sub


2- Sonra, Excel makro güvenlik ayarlarınızı "Bildirimde bulunarak tüm makroları devre dışı bırak" veya "Bildirimde bulunmadan tüm makroları devre dışı bırak" seçeneklerinden birine ayarlayın.

3- Dosyanızı açıp VBA penceresine geçin.

4- Project - VBA Project alanında -> BuÇalışmaKitabı (ThisWorkbook) seçin.

seri.PNG


5- Verdiğim kodun sadece "Benim bilgisayarımın seri numarası" bölümünü yukarıdaki kod ile bulduğunuz seri numarası ile değiştirin.

6- Dosyanızı kaydedip kapatın. Ve makroları etkinleştirerek açın.

Sizin denemelerinizde beyaz sayfa gelmesinden, ben kodun aslında çalıştığını, ancak seri numarasını doğru girmediğiniz için dosyanın kapanıp geriye beyaz sayfa kaldığını düşünüyorum.

- Kod içindeki bilgisayar adı kısmındaki "." alanında bir değişiklik yapmayın, mevcut bilgisayarı dikkate alır.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
(Ücretli program talepleriniz için iletişime geçebilirsiniz. bulentozturk2@ gmail.com)
Kullanıcı avatarı
Bülent
Yönetim Kurulu
 
Adı Soyadı:Bülent ÖZTÜRK
Kayıt: 15 Haz 2008 02:08
Meslek: Bilgi Sistemleri
Yaş: 42
İleti: 3585
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İst/Çekmeköy

Cevap: Excel dosyası kullanıcı sınırlama

İleti#9)  czy » 08 Ağu 2018 10:53

Merhaba Bülent Bey,

Son vermiş olduğunuz kod ile çözüme ulaştım. Ellerinize sağlık çok teşekkür ederim.
Kullanıcı avatarı
czy
Yeni Başlamış
 
Adı Soyadı:soner coskun
Kayıt: 20 Haz 2012 17:25
Konum: istanbul
Meslek: muhasebe
Yaş: 33
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Excel dosyası kullanıcı sınırlama

İleti#10)  Bülent » 05 Eyl 2018 23:14

Rica ederim.
Yardımcı olabildiğime sevindim.
(Ücretli program talepleriniz için iletişime geçebilirsiniz. bulentozturk2@ gmail.com)
Kullanıcı avatarı
Bülent
Yönetim Kurulu
 
Adı Soyadı:Bülent ÖZTÜRK
Kayıt: 15 Haz 2008 02:08
Meslek: Bilgi Sistemleri
Yaş: 42
İleti: 3585
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İst/Çekmeköy


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe