Excel dosyasını kapattığımız zaman otomatik olarak gerçekleşmesini istediğimiz işlemleri Auto_Close ile yapmak için kullanılabilecek bir örnek verilmiştir.
Option Explicit
Sub Auto_Close()
MesajlaUyariVer
End Sub
Sub MesajlaUyariVer()
Dim sonuc As Integer
sonuc = MsgBox("Dosya kapatılacak, onaylıyor musunuz?", vbOKCancel, "Uyarı")
If (sonuc = vbOK) Then
ThisWorkbook.Save
Application.Quit
End If
End Sub
Option Explicit
'--------------------------------------------------
'Dosyayı kapattığımızda bu kod
'otomatik olarak çalışacak.
'--------------------------------------------------
Sub Auto_Close()
'--------------------------------------------------
'Kapatma düğmesine basıldığında
'aşağıdaki metod çalışacak.
'--------------------------------------------------
MesajlaUyariVer
End Sub
Sub MesajlaUyariVer()
'--------------------------------------------------
'Mesaj verdiriyoruz ve mesajın sonucuna göre
'hareket edilmesini istiyoruz. Mesajdan gelen
'sonucu bu değişkene atayacağız.
'--------------------------------------------------
Dim sonuc As Integer
'--------------------------------------------------
'Mesaj penceresini aç.
'--------------------------------------------------
sonuc = MsgBox("Dosya kapatılacak, onaylıyor musunuz?", vbOKCancel, "Uyarı")
'--------------------------------------------------
'MsgBox ile gelecek bilgiyi sonuc değişkenine
'atadık. Böylelikle bu bilgiyle çeşitli işlemler
'yapabileceğiz.
'
'vbOK, vbCancel, vbYes, vbNo gibi değerler
'öntanımlı olarak Const ile nitelenmiştir.
'Yani değeri verilmiştir ve bu değer
'sabit ve değişmeyen değerdir.
'
'Başka bir deyişle sadece okunabilir bir değere sahiptir.
'Dikkat ettiyseniz sonuc değişkenini Integer (yani sayı)
'olarak tanımladık. Bunun sebebi de bu member'lara atanan
'değerin sayı değeri olmasından kaynaklanıyor.
'
'Neyse, if kullanarak gelen sonucun değerini
'kontrol ediyoruz. OK tuşuna basılmışsa çalışacak.
'Cancel tuşuna basılırsa da hiçbir şey yapmayacak.
'--------------------------------------------------
If (sonuc = vbOK) Then
'Bu çalışma kitabını kaydet.
ThisWorkbook.Save
'Uygulamadan çık.
Application.Quit
End If
End Sub