VBA - Mesaj Kutusu
MsgBox function bir mesaj kutusu görüntüler ve kullanıcının bir düğmeyi tıklamasını bekler ve ardından kullanıcı tarafından tıklanan düğmeye bağlı olarak bir eylem gerçekleştirilir.
Sözdizimi
MsgBox(prompt[,buttons][,title][,helpfile,context])
Parametre Açıklama
Prompt- Gerekli Bir Parametre. İletişim kutusunda mesaj olarak görüntülenen bir Dize. Maksimum bilgi istemi uzunluğu yaklaşık 1024 karakterdir. Mesaj bir satırdan fazlasını kapsıyorsa, bu durumda satırlar, her satır arasında bir satırbaşı karakteri (Chr (13)) veya satır besleme karakteri (Chr (10)) kullanılarak ayrılabilir.
Buttons- İsteğe Bağlı Bir Parametre. Görüntülenecek düğmelerin türünü, kullanılacak simge stilini, varsayılan düğmenin kimliğini ve mesaj kutusunun modalitesini belirten bir Sayısal ifade. Boş bırakılırsa, düğmeler için varsayılan değer 0'dır.
Title- İsteğe Bağlı Bir Parametre. İletişim kutusunun başlık çubuğunda görüntülenen bir String ifadesi. Başlık boş bırakılırsa, uygulama adı başlık çubuğuna yerleştirilir.
Helpfile- İsteğe Bağlı Bir Parametre. İletişim kutusu için bağlama duyarlı yardım sağlamak için kullanılacak Yardım dosyasını tanımlayan bir String ifadesi.
Context- İsteğe Bağlı Bir Parametre. Yardım yazarı tarafından uygun Yardım konusuna atanan Yardım içerik numarasını tanımlayan sayısal bir ifade. Bağlam sağlanmışsa, yardım dosyası da sağlanmalıdır.
Buttons parametresi aşağıdaki değerlerden herhangi birini alabilir -
0 vbOKOnly - Yalnızca Tamam düğmesini görüntüler.
1 vbOKCancel - Tamam ve İptal düğmelerini görüntüler.
2 vbAbortRetryIgnore - Durdur, Yeniden Dene ve Yoksay düğmelerini görüntüler.
3 vbYesNoCancel - Evet, Hayır ve İptal düğmelerini görüntüler.
4 vbYesNo - Evet ve Hayır düğmelerini görüntüler.
5 vbRetryCancel - Yeniden Dene ve İptal düğmelerini görüntüler.
16 vbCritical - Kritik Mesaj simgesini görüntüler.
32 vbQuestion - Uyarı Sorgusu simgesini görüntüler.
48 vbExclamation - Uyarı Mesajı simgesini görüntüler.
64 vbInformation - Bilgi Mesajı simgesini görüntüler.
0 vbDefaultButton1 - İlk düğme varsayılandır.
256 vbDefaultButton2 - İkinci düğme varsayılandır.
512 vbDefaultButton3 - Üçüncü düğme varsayılandır.
768 vbDefaultButton4 - Dördüncü düğme varsayılandır.
0 vbApplicationModal Uygulama modu - Kullanıcı mesaj kutusuna yanıt verene kadar geçerli uygulama çalışmayacaktır.
4096 vbSystemModal Sistem modu - Kullanıcı ileti kutusuna yanıt verene kadar tüm uygulamalar çalışmayacaktır.
Yukarıdaki değerler mantıksal olarak dört gruba ayrılır: first group(0 ila 5), mesaj kutusunda görüntülenecek düğmeleri belirtir. second group (16, 32, 48, 64) görüntülenecek simgenin stilini açıklar, third group (0, 256, 512, 768) hangi düğmenin varsayılan olması gerektiğini belirtir ve fourth group (0, 4096) mesaj kutusunun modalitesini belirler.
Dönen Değerler
MsgBox işlevi, kullanıcının mesaj kutusunda tıkladığı düğmeyi tanımlamak için kullanılabilecek aşağıdaki değerlerden birini döndürebilir.
- 1 - vbOK - Tamam tıklandı
- 2 - vbCancel - İptal tıklandı
- 3 - vbAbort - İptal tıklandı
- 4 - vbRetry - Yeniden dene tıklandı
- 5 - vbIgnore - Yoksay tıklandı
- 6 - vbYes - Evet tıklandı
- 7 - vbNo - Hayır tıklandı
Misal
Function MessageBox_Demo()
'Message Box with just prompt message
MsgBox("Welcome")
'Message Box with title, yes no and cancel Butttons
int a = MsgBox("Do you like blue color?",3,"Choose options")
' Assume that you press No Button
msgbox ("The Value of a is " & a)
End Function
Çıktı
Step 1 - Yukarıdaki İşlev, VBA Penceresindeki "Çalıştır" düğmesine tıklanarak veya aşağıdaki ekran görüntüsünde gösterildiği gibi Excel Çalışma Sayfasından işlevi çağırarak yürütülebilir.
Step 2 - "Hoş Geldiniz" mesajı ve "Tamam" Düğmesi ile Basit Mesaj kutusu görüntülenir
Step 3 - Tamam'ı tıkladıktan sonra, "evet, hayır ve iptal" düğmeleriyle birlikte bir mesajla birlikte başka bir iletişim kutusu görüntülenir.
Step 4- 'Hayır' düğmesine tıkladıktan sonra, bu düğmenin (7) değeri bir tam sayı olarak kaydedilir ve aşağıdaki ekran görüntüsünde gösterildiği gibi kullanıcıya bir mesaj kutusu olarak görüntülenir. Bu değer kullanılarak kullanıcının hangi butona tıkladığı anlaşılabilir.