Çözüldü Dosyanın salt olarak açılması

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

SilinenUye8231

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba hayırlı akşamlar.

Ağda ortak kullandığımız bir tane dosyamız mevcut, bu dosya sadece bana normal açılmasını ve başkaları bu dosyayı açtığında onlara sürekli salt olarak açılmasını istiyorum.
Dosya kimsede açık olmasa bile, kontrol olarak kod benim bilgisayarımın adı (ASLAN) değilse başkalarına sürekli salt olarak açılsın istiyorum.

Böyle bişey olabilir mi?
Yardımcı olur musunuz?
 
İyi akşamlar Sayın @SilinenUye8231 .

Aşağıdaki kodu açılacak olan belgede ThisWorkbook bölümüne yapıştırıp belgeyi kaydederek tekrar açmayı deneyin.

Önce F8 tuşuna aralıklarla basıp fareyi ilgiLİ satırın (ilk 4 satır için) üstüne götürürseniz,
herbir değişkenin aldığı değeri görebilirsiniz.
Kırmızı işaretlediğim dışında, If....satırının üstündeki değişkenlerin aldığı değere göre,
If.... satırında hangi değişkeni kullanacağınıza karar verirsiniz.
Bu karar göre de o değişkenin sonucunu ÇİFT TIRNAK arasına yazarsınız

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(10 satır)
 
Sayın @Ömer BARAN Bey, ilginiz için çok teşekkür ediyorum.
Aşağıdaki gibi yaptım, kendi bilgisayarımda bile salt okunur açtı.

Private Sub Workbook_Open()
bilgisayar1 = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%COMPUTERNAME%")
bilgisayar2 = CreateObject("WScript.Network").ComputerName
kullanici1 = Environ("UserName")
kullanici2 = Application.UserName

If bilgisayar1 <> "ASLAN" Then
ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly
End If
End Sub


Başka nereleri değiştirmem gerekir?
 
Makroyu F8 ile adımladığınızda,
işlem sırası bilgisayar2 satırına geldiğinde
fareyi bilgisayar1 değişkeninin üstüre götürdüğünüzde gördüğünüz değer neyse
If..... satırında çift tırnak arasında onu yazmalısınız.
 
Sayın @Ömer BARAN Bey, bilgisayarı ağ üzerinde kullanıyoruz, dediğiniz gibi yaptım başka bi isim çıktı. O ismi yazıp kaydedip açtığımda salt okunur olarak açmadı.
Bu şekilde kod gayet güzel çalışıyor, ellerinize sağlık.

Bu işlemi Windows başlat butonuna bastığımızda orada yazan kişisel ismimiz ne ise o şekilde ayarlanabilir mi?
 
Sayın @SilinenUye8231 .

Verdiğim seçeneklerden kullanici1 seçeneğini denediniz mi acaba?

If satırında, bilgisayar1 yerine kullanici1 yazıp, devamındaki çift tırnak arasına da,
kodu F8 ile adımladığınızda üst tarafta kullanici1 değişkeninin aldığı değeri görüp onu yazın.

Neticede If satırının; kullanacağınız seçeneğe göre
If kullanılan değişken adı <> " seçeneğe ait metinsel değer "
şeklini alması lazım.

Kararı netleştirditen sonra If satırının üstünde kalan seçeneklerden,
sadece If... satırında kullandığınız değişken kalsın, diğerlerini silebilirsiniz elbette.

.
 
Sayın Ömer Bey, aşağıdaki gibi yapınca tam istediğim gibi oldu, ellerinize sağlık, çok teşekkür ediyorum.
Hayırlı sabahlar diliyorum.

Private Sub Workbook_Open()
If Application.UserName <> "ASLAN" Then
ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly
Exit Sub
End If
End Sub
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst