Temel Diyalog Kutularına Erişim


Temel Diyalog Kutularına Erişim.

Bu makalemizde sizlerle birlikte en temel işlemlerimiz olan, dosya açma, yeni belge oluşturma, belgeyi kaydetme ve belge içeriği üzerinde arama yapma işlemlerini idare ederken kullandıımız diyalog kutularına VBA ile nasıl erişebileceğinizi yani onları nasıl çağıracağınızı ve çağırdığınız bu diyalog kutularında kullanıcının seçiminin ne olduğunu (Tamam ya da İptal vb. düğmelerden hangisini kullandığını) nasıl tespit edeceğinizi açıklamaya çalışağım.
Öncelikle yeni bir belge oluşturup sonrasında belgenizde tasarım moduna geçerek aşağıdaki ekran çıktısında verilen CommandButton nesnelerini belgenize ekleyerek yine bu nesnelere ekran çıktısındaki isimleri vermenizi istiyorum. Bu isimler sizin tarafınızdan değiştirilebilir ama önemli olan aşağıda verilen kodları yazarken her kodu ilgili nesnenin ilgili olayına yazmanız gerektiğidir. Kısaca hatırlatalım, btn ile başlayanlar nesnelerin name özellikleri üzerlerinde yazılan ifadeler ise nesnelerin Caption özelliklerine atanması gerekmektedir.

Bundan sonra yapılacak işlem bu düğmelerin işlevlerini yerine getirebilmeleri için gereken kodların yazılması ki bunun için Alt + F11 tuşlarına basarak ya da Word 2003 kod sayfası arayüzünün tanıtılması makalesinde izah ettiğim gibi Visual Basic araç çubuğundaki Visual Basic Düzeleyicisi düğmesini kullanarak(ilgili makale Şekil-1 de verilen 1 nolu düğme) kod sayfasına geçiyor ve aşağıda verilen kodları yazıyorsunuz. Olmadı kaynak dosyayı indirip işin kolayına kaçabilirsiniz ancak unutmayın ki hiç bir zaman hazır yemek kendi pişirdiğinizin lezzetini vermez, galiba erkekler bu nedenle evlendiklerinde büyük hayal kırıklığı yaşıyorlar :))
Kaynak Kodlar :

Option Explicit
Private Sub btnCikis_Click()
'1. Acik belgeyi kaydetmeden cik
    Application.Quit wdDoNotSaveChanges
'2. Acik belgeyi kaydet ve  cik
'    Application.Quit wdSaveChanges
End Sub

Private Sub btnDialogAc_Click()
Dim cevap As Long
    With ThisDocument
        cevap = Application.Dialogs(wdDialogFileOpen).Show
        .Content.InsertAfter Str(cevap) & " tusuna basildi" & vbCrLf
        ' 0 iptal tusuna basildi
        '-1 ac tusuna basıldı
    End With
End Sub

Private Sub btnDialogBul_Click()
Dim cevap As Long
    With ThisDocument
    On Error GoTo hata
        cevap = Application.Dialogs(wdDialogEditFind).Show
        .Content.InsertAfter Str(cevap) & " tusuna basildi" & vbCrLf
    End With
    Exit Sub
hata:
    ThisDocument.Content.InsertAfter Err.Description & vbCrLf
End Sub

Private Sub btnDialogKaydet_Click()
Dim cevap As Long
    With ThisDocument
    On Error GoTo hata
        cevap = Application.Dialogs(wdDialogFileSaveAs).Show
        .Content.InsertAfter Str(cevap) & " tusuna basildi" & vbCrLf
    End With
    Exit Sub
hata:
    ThisDocument.Content.InsertAfter Err.Description & vbCrLf
End Sub

Private Sub btnDialogYeni_Click()
Dim cevap As Long
    With ThisDocument
    On Error GoTo hata
        cevap = Application.Dialogs(wdDialogFileNew).Show
'        cevap = Application.Dialogs(wdDialogFileNew2007).Show
        .Content.InsertAfter Str(cevap) & " tusuna basildi" & vbCrLf
    End With
    Exit Sub
hata:
    ThisDocument.Content.InsertAfter Err.Description & vbCrLf
End Sub

Yardımcı olması dileğiyle... Güç sizinle olsun.