• DİKKAT

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

Aynı Anda Tek Kullanıcılı Ortak Excel

Katılım
29 Kasım 2010
Mesajlar
85
Excel Vers. ve Dili
MS Excel Professional Plus 2010
Merhabalar.

Daha önce soruldu mu bilmiyorum ama, bir excel dosyasına ihtiyacım var ve bu dosya Ortak dizinde duracak ve herkes tarafından kullanılabilecek. Özellikle istediğim şey, dosyayı birisi kullanırken başka birisi dosyaya erişim sağlayamasın. Dosyayı açmak istediğinde, "İsim Soyisim tarafından kullanılmaktadır, lütfen daha sonra tekrar deneyin." desin. Dosyaya giriş yapan kişi de eğer herhangi bir değişiklik yaptıysa "Kaydet" butonuna basmadan dosyayı kapatamasın. Kaydet'e basmadan kapatmak isterse, "Lütfen çıkmadan önce dosyayı kaydediniz, ardından dosyayı kapatınız." gibi bir uyarı versin.

Şimdiden çok teşekkür ediyorum.

Saygılarımla.
 
Aşağıdaki şekilde deneyin.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Sayfa3.Range("a1") = Empty
End Sub

Private Sub Workbook_Open()

If Environ("username") <> Sayfa3.Range("a1") Then
    MsgBox "Sayın " & Application.UserName & "  tarafından açılmıştır. Dosyayı açamazsınız...", vbOKOnly + vbInformation, Application.UserName
    ThisWorkbook.Close
Else
    Sayfa3.Range("a1") = Environ("username")
    MsgBox "Sayın " & Application.UserName & "  hoşgeldiniz...", vbOKOnly + vbInformation, Application.UserName
End If
End Sub

[\code]
 
Pardon eksik oldu sanırım.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Sayfa3.Range("a1") = Empty
End Sub

Private Sub Workbook_Open()
If Sayfa3.Range("a1") <> Empty Then
If Environ("username") <> Sayfa3.Range("a1") Then
    MsgBox "Sayın " & Application.UserName & "  tarafından açılmıştır. Dosyayı açamazsınız...", vbOKOnly + vbInformation, Application.UserName
    ThisWorkbook.Close False
Else
    Sayfa3.Range("a1") = Environ("username")
    MsgBox "Sayın " & Application.UserName & "  hoşgeldiniz...", vbOKOnly + vbInformation, Application.UserName
End If
Else
    Sayfa3.Range("a65536").End(3)(1, 1).Value = Environ("username")
    MsgBox "Sayın " & Application.UserName & "  hoşgeldiniz...", vbOKOnly + vbInformation, Application.UserName
End If


End Sub
 
Pardon eksik oldu sanırım.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Sayfa3.Range("a1") = Empty
End Sub

Private Sub Workbook_Open()
If Sayfa3.Range("a1") <> Empty Then
If Environ("username") <> Sayfa3.Range("a1") Then
    MsgBox "Sayın " & Application.UserName & "  tarafından açılmıştır. Dosyayı açamazsınız...", vbOKOnly + vbInformation, Application.UserName
    ThisWorkbook.Close False
Else
    Sayfa3.Range("a1") = Environ("username")
    MsgBox "Sayın " & Application.UserName & "  hoşgeldiniz...", vbOKOnly + vbInformation, Application.UserName
End If
Else
    Sayfa3.Range("a65536").End(3)(1, 1).Value = Environ("username")
    MsgBox "Sayın " & Application.UserName & "  hoşgeldiniz...", vbOKOnly + vbInformation, Application.UserName
End If


End Sub

Çok teşekkür ederim ilginiz için, fakat maalesef çalışmadı :(
Siz test ettiğinizde çalışmış mıydı?
 
Şimdi de denedim çalışıyor.
 
Sayın askm;

Koddaki sayfa3'ün önemi nedir ? Ben 13 sayfalık excel kitabıma uygulamak istiyorum. Kodunuzdaki sayfa3 kısımlarını Özet isimli sayfamın adı ile değiştirdiğim zaman hata alıyorum. Ama kodda herhangi bir değişiklik yapmadan uygularsam çalışıyor, fakat excel kitabında sayfa3 isimli bir sayfa da görünmüyor.

Ayrıca bazı sayfalar şifre korumalı, korumalı moddayken "Değişiklik yapmak için Sayfa Korumasını kaldır öğesini seçin" uyarısını veriyor ve dolayısı ile macro çalışmıyor.
 
Sayfa3 VBA kısmındaki adı. Onun yerine Sheets("Özet") veya Sheets ("Sayfa3") de yazabilirsiniz. Sheets yazdığınız Excel kısmından gözüken ismi. Ben kodda kısaca Sayfa3 e A1 hücresine kullanıcı adını aldırdım. Eğer açarken kullanıcı adı Sayfa3 e A1 farklı ise açma dedim.Exceli kapatırkende A1 i sildirdim.
 
Sayın askm açıklamanız için teşekkür ederim, şimdi anladım.
Yalnız şuanda sadece açarken "Hoş Geldiniz Engin" diyor. Başka bir kullanıcı açıp, ben tekrar açmaya çalıştığımda bana şu kullanıcı da açıktır diye uyarı vermiyor, yine "Hoş Geldiniz Engin" diyor. Sanırım ilk açan kullanıcı için A1 hücresine yazdığı ismi kayıt edilmediği için, benim açtığımda da A1 hücresini boş görüyor ve beni de ilk açan kullanıcı gibi görünüyor.
 
ThisWorkbook.Close False kısmındaki False kelimesini silip deneyin. Sizi atacak, yalnız yaptığınız değişiklikler için kaydetmek istiyormusunuz diye soracak.
 
Maalesef yine olmadı, ilk kullanıcı dosyayı açtıktan sonra ben açmaya çalıştığımda salt okunarak açılış uyarısı geliyor ve devam dediğimde ise yine "Hoşgeldiniz Engin" diyor. Sizin ağ üzerinde deneme şansınız olmadı sanırım..
 
Aşağıdaki kod ile Salt okunur açmayı engelleyebilirsiniz.

Kod:
Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then
ThisWorkbook.Close
End If
End Sub
 
Maalesef bu sefer de hata veriyor.
Hata mesajı: "Ambiguous name detected:Workbook_Open"
 
Geri
Üst