açık olan dosyaya erişim uyarısı

Katılım
12 Aralık 2023
Mesajlar
55
Excel Vers. ve Dili
2019
herkese iyi forumlar,
iş yerinde ortak alanda bulunan bir excel dosyamız var. bu dosyayı ben açıp kullanırken bir başkası açamasın, dosya kullanımda tarzda uyarı versin istiyorum. benim işim bitip kapattığımda bir başkası girip çalışabilsin.
çalışma sırasında açan kullanıcı salt okunur modda açtığını biliyorum ama istenilen bu değil. yardımcı olur musunuz?
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
314
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Excel dosyanızın başka biri tarafından açılmasını engellemek için, dosyayı korumak adına aşağıdaki adımları izleyebilirsiniz:

1. Dosyayı Paylaşılmayan Modda Açma
Excel dosyanızı yalnızca sizin açabileceğiniz şekilde ayarlamak için dosyayı "Paylaşım" ayarlarını değiştirebilirsiniz:

  1. Dosyayı Açın: Excel dosyanızı açın.
  2. Dosya menüsüne gidin.
  3. Bilgi sekmesine tıklayın.
  4. Çalışma Kitabını Koru (ya da "Dosyayı Koru") seçeneğine tıklayın.
  5. Erişimi Kısıtla (ya da "Paylaşmayı Kaldır") seçeneğini seçin. Bu, dosyayı yalnızca sizin erişiminize açar.
2. VBA ile Kullanımda Uyarı Gösterme
Eğer VBA kullanarak, dosya açıldığında diğer kullanıcıları uyaran bir sistem oluşturmak isterseniz, aşağıdaki gibi bir kod ekleyebilirsiniz:

  1. Geliştirici Sekmesini Açın: Excel'de Geliştirici sekmesini aktif hale getirin (Eğer aktif değilse, Dosya > Seçenekler > Şeridi Özelleştir kısmından Geliştirici'yi işaretleyin).
  2. VBA Editor'ü Açın: Geliştirici sekmesinden "Visual Basic" seçeneğine tıklayın.
  3. ThisWorkbook'a Kod Ekleyin:
    • "Project Explorer" penceresinde, "ThisWorkbook" üzerine çift tıklayın.
    • Aşağıdaki kodu ekleyin:
Kod:
Dim IsOpen As Boolean

Private Sub Workbook_Open()
    If IsOpen Then
        MsgBox "Dosya şu anda başka bir kullanıcı tarafından kullanılmakta!", vbExclamation
        ThisWorkbook.Close False
    Else
        IsOpen = True
    End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    IsOpen = False
End Sub
Bu kod, dosya açıldığında başka bir kullanıcının açmasını engelleyecek ve bir uyarı mesajı gösterecektir.

3. Dosyayı Kaydedin
Yukarıdaki adımları tamamladıktan sonra dosyanızı Excel Macro-Enabled Workbook (xlsm) formatında kaydedin.

Bu ayarlarla, dosyanız açıkken başka birinin açmaya çalışması durumunda uyarı alacak ve dosya kapatılacaktır. Umarım bu çözüm işinize yarar!
 
Katılım
12 Aralık 2023
Mesajlar
55
Excel Vers. ve Dili
2019
Excel dosyanızın başka biri tarafından açılmasını engellemek için, dosyayı korumak adına aşağıdaki adımları izleyebilirsiniz:

1. Dosyayı Paylaşılmayan Modda Açma
Excel dosyanızı yalnızca sizin açabileceğiniz şekilde ayarlamak için dosyayı "Paylaşım" ayarlarını değiştirebilirsiniz:

  1. Dosyayı Açın: Excel dosyanızı açın.
  2. Dosya menüsüne gidin.
  3. Bilgi sekmesine tıklayın.
  4. Çalışma Kitabını Koru (ya da "Dosyayı Koru") seçeneğine tıklayın.
  5. Erişimi Kısıtla (ya da "Paylaşmayı Kaldır") seçeneğini seçin. Bu, dosyayı yalnızca sizin erişiminize açar.
2. VBA ile Kullanımda Uyarı Gösterme
Eğer VBA kullanarak, dosya açıldığında diğer kullanıcıları uyaran bir sistem oluşturmak isterseniz, aşağıdaki gibi bir kod ekleyebilirsiniz:

  1. Geliştirici Sekmesini Açın: Excel'de Geliştirici sekmesini aktif hale getirin (Eğer aktif değilse, Dosya > Seçenekler > Şeridi Özelleştir kısmından Geliştirici'yi işaretleyin).
  2. VBA Editor'ü Açın: Geliştirici sekmesinden "Visual Basic" seçeneğine tıklayın.
  3. ThisWorkbook'a Kod Ekleyin:
    • "Project Explorer" penceresinde, "ThisWorkbook" üzerine çift tıklayın.
    • Aşağıdaki kodu ekleyin:
Kod:
Dim IsOpen As Boolean

Private Sub Workbook_Open()
    If IsOpen Then
        MsgBox "Dosya şu anda başka bir kullanıcı tarafından kullanılmakta!", vbExclamation
        ThisWorkbook.Close False
    Else
        IsOpen = True
    End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    IsOpen = False
End Sub
Bu kod, dosya açıldığında başka bir kullanıcının açmasını engelleyecek ve bir uyarı mesajı gösterecektir.

3. Dosyayı Kaydedin
Yukarıdaki adımları tamamladıktan sonra dosyanızı Excel Macro-Enabled Workbook (xlsm) formatında kaydedin.

Bu ayarlarla, dosyanız açıkken başka birinin açmaya çalışması durumunda uyarı alacak ve dosya kapatılacaktır. Umarım bu çözüm işinize yarar!

Hocam teşekkürler yanıtınız için fakat sorunum çözülmedi. Kodları yazdım farklı bir kullanıcıdan da denedim fakat uyarı veriyor ama salt okunur modda yine açabiliyor o uyarıya tamam dedikten sonra.
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
314
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Aşağıdaki kodu dener misiniz? Açıkta başka excel dosyalarınız varsa kaydedip öyle deneyin.

VBA kodunu revize edebiliriz. Bu yöntemle, dosya zaten kullanımda olduğunda uyarı verecek ve hiçbir şekilde salt okunur bile açılamayacaktır.

1. Dosya Tamamen Açılmasın (VBA ile)
Aşağıdaki VBA kodunu kullanarak, dosya kullanımda ise hiçbir şekilde açılamayacak ve uyarı verecektir:

  1. VBA Editörünü Açın: Excel'de Geliştirici > Visual Basic sekmesine tıklayın.
  2. ThisWorkbook'a Kod Ekleyin:
    • Sol taraftaki "Project Explorer" penceresinde, "ThisWorkbook" üzerine çift tıklayın.
    • Aşağıdaki kodu ekleyin:
Kod:
Dim IsOpen As Boolean

Private Sub Workbook_Open()
    If IsOpen Then
        MsgBox "Dosya şu anda başka bir kullanıcı tarafından kullanılmakta! Lütfen daha sonra tekrar deneyin.", vbCritical
        Application.Quit
    Else
        IsOpen = True
    End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    IsOpen = False
End Sub
2. Dosyayı Kaydedin
Bu kodla, dosya zaten kullanımda olduğunda uyarı verilecek ve Excel tamamen kapanacaktır, böylece diğer kullanıcılar dosyayı salt okunur olarak bile açamayacaktır.

Açıklama:
  • Workbook_Open olayı, dosya açıldığında çalışır ve dosya daha önce açılmışsa uyarı verir.
  • Application.Quit komutu, dosyanın açılmasını tamamen engeller ve Excel programını kapatır.
  • IsOpen değişkeni dosyanın açıldığını kontrol eder ve kapatıldığında bu değişken sıfırlanır.
 
Katılım
12 Aralık 2023
Mesajlar
55
Excel Vers. ve Dili
2019
Aşağıdaki kodu dener misiniz? Açıkta başka excel dosyalarınız varsa kaydedip öyle deneyin.

VBA kodunu revize edebiliriz. Bu yöntemle, dosya zaten kullanımda olduğunda uyarı verecek ve hiçbir şekilde salt okunur bile açılamayacaktır.

1. Dosya Tamamen Açılmasın (VBA ile)
Aşağıdaki VBA kodunu kullanarak, dosya kullanımda ise hiçbir şekilde açılamayacak ve uyarı verecektir:

  1. VBA Editörünü Açın: Excel'de Geliştirici > Visual Basic sekmesine tıklayın.
  2. ThisWorkbook'a Kod Ekleyin:
    • Sol taraftaki "Project Explorer" penceresinde, "ThisWorkbook" üzerine çift tıklayın.
    • Aşağıdaki kodu ekleyin:
Kod:
Dim IsOpen As Boolean

Private Sub Workbook_Open()
    If IsOpen Then
        MsgBox "Dosya şu anda başka bir kullanıcı tarafından kullanılmakta! Lütfen daha sonra tekrar deneyin.", vbCritical
        Application.Quit
    Else
        IsOpen = True
    End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    IsOpen = False
End Sub
2. Dosyayı Kaydedin
Bu kodla, dosya zaten kullanımda olduğunda uyarı verilecek ve Excel tamamen kapanacaktır, böylece diğer kullanıcılar dosyayı salt okunur olarak bile açamayacaktır.

Açıklama:
  • Workbook_Open olayı, dosya açıldığında çalışır ve dosya daha önce açılmışsa uyarı verir.
  • Application.Quit komutu, dosyanın açılmasını tamamen engeller ve Excel programını kapatır.
  • IsOpen değişkeni dosyanın açıldığını kontrol eder ve kapatıldığında bu değişken sıfırlanır.
Hocam selamlar tekrar ilk kodda bi uyarı alıyorduk fakat bunda uyarı almadan kullanıcı dosyayı açabiliyor. Çalışmadı yani :(
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
314
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Üzgünüm :( inşallah başka birisi yardımcı olabilir
 
Katılım
12 Aralık 2023
Mesajlar
55
Excel Vers. ve Dili
2019
Günceldir arkadaşlar
 
Üst