Skip to main content

AccessTr.neT


Salt Okunur Açmayı Engellemek.

Salt Okunur Açmayı Engellemek.

#7
(27/05/2020, 18:03)berduş yazdı: Excel kitabını kapatıyor ama Excel programı açık kalıyor
Application.Quit
Cevapla
#8
(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
Cevapla
#9
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
Cevapla
#10
ö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]
.rar SaltOkunurExcel_hy.rar (Dosya Boyutu: 27,59 KB | İndirme Sayısı: 1)
Cevapla
#11
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.
Son Düzenleme: 28/05/2020, 15:18, Düzenleyen: m_demir.
Cevapla
#12
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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task