AccessTr.neT

Tam Versiyon: Salt Okunur Açmayı Engellemek.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13
(27/05/2020, 18:03)berduş yazdı: [ -> ]Excel kitabını kapatıyor ama Excel programı açık kalıyor
Application.Quit
(27/05/2020, 18:07)feraz yazdı: [ -> ]
Application.Quit
teşekkürler @feraz bey dediğiniz kodu denemiştim ama tüm açık Excel dosyalarını kapattığı için vaz geçmiştim kullanmaktan
kodun son hali aşağıdadır denemelerimde sorun çıkmadı
bu haliyle eğer başka açık kitap yoksa Excel Programını, varsa sadece Excel kitabını kapatıyor
Private Sub Workbook_Open()
    If ActiveWorkbook.ReadOnly Then
        MsgBox "Bu dosya zaten kullanımda. Sonra tekrar deneyin."
'Workbooks.Count açık Excel dosyasının sayısını verir eğer 1 tane ise programı daha fazla ise sadece kitabı kapatır
        If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close
    End If
End Sub
Excel kitaplarını döngüye sokulur ve hangisi salt okunursa o kapatılabilir.
Berduş hocamızın kodunu alttaki gibide deneyebilirsiniz.

Dim ktap As Workbook

For Each ktap In Workbooks
    If ktap.ReadOnly Then
        MsgBox "Bu dosya zaten kullanýmda. Sonra tekrar deneyin."
        If Workbooks.Count = 1 Then Application.Quit Else ktap.Close
    End If
Next

Set ktap = Nothing
önce Access dosyasını açıp dış veri al ile Excel sayfasını bağlayın
yada gönderdiğim dosyadaki bağlantıyı kendi dosyanıza göre uyrlayın
[Resim: do.php?img=10255]
Feraz Hocamın Kodu

Dim ktap As Workbook

For Each ktap In Workbooks
    If ktap.ReadOnly Then
        MsgBox "Bu dosya zaten kullanýmda. Sonra tekrar deneyin."
        If Workbooks.Count = 1 Then Application.Quit Else ktap.Close
    End If
Next

Set ktap = Nothing


Berduş Hocamın kodu

Private Sub Workbook_Open()
    If ActiveWorkbook.ReadOnly Then
        MsgBox "Bu dosya zaten kullanımda. Sonra tekrar deneyin."
'Workbooks.Count açık Excel dosyasının sayısını verir eğer 1 tane ise programı daha fazla ise sadece kitabı kapatır
        If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close
    End If
End Sub


Feraz Hocamın   For Each ktap In Workbooks kod satırı hata veriyor.

Berduş hocamın eklediği Access Excel bağlantısını ofis 2010 da yapamadım.

Kodların ikisinide  BuÇalışmaKitabı olayına eklediğim zaman salt okunur olarak kitabı açmama izin veriyor.
yapmanız gereken tek şey kodları Workbook_Open olayına eklemekti başka birşeye gerek yoktu.
dün anlattığım olay ağ bağlantınız olmadığı için evinizde deneyebilmenizi sağlamaktı
çalışma kitabının açıldığında olayına aşağıdaki kodlar yazar mısınız
if ActiveWorkbook.ReadOnly =true then msgbox "Dosya Salt okunur" else "Sorun yok açılabilir"
msgbox Workbooks.Count " tane Excel dosyası açık
yukardaki kodu Workbook_Open olayına ekleyip dsyayı kapatın
tekrar açın size 2 mesaj vermesi gerek
verdiği bilgiler doğruysa kodları yanlış yere eklemiş olabilirsiniz
çalışmanızı ekleyin inceleyelim

tekrar belirteyim, dün yapılanları unutun!
yapmanız gereken tek şey aşağıdaki kodu Workbook_Open
Private Sub Workbook_Open()
    If ActiveWorkbook.ReadOnly Then
        MsgBox "Bu dosya zaten kullanımda. Sonra tekrar deneyin."
'Workbooks.Count açık Excel dosyasının sayısını verir eğer 1 tane ise programı daha fazla ise sadece kitabı kapatır
        If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close
    End If
End Sub
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13