MsgBox
MsgBox
Tanım
Bir uygulamadaki mesajlarının; mesaj kutusu aracılığıyla veya baskı öncesi ekranda toplu olarak göstermeye yarayan bir fonksiyondur.
Mesaj kutusu şeklindeki kullanımlarda sadece OK (Tamam) tuşu vardır. Mesaj kutusunun başlığı bulunmaz. Ön yüzü olmayan uygulamalarda gösterilmez. Eğer yapılan işlem toplu bir işlem (batch) ise, işlem bittikten sonra baskı öncesi ekranda, satırlar halinde gösterilir.
Kullanım Şekli
Değişken = Document.MsgBox(Mesaj)
Ana Nesne
Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.
Parametreler
Parametre |
Açıklama |
Mesaj |
Ekranda gösterilmek istenilen mesajdır. Uzun mesajlarda satırbaşı yapılmak isteniyorsa; carriage return karakteri (Chr(13)) veya linefeed karakteri (Chr(10)) istenilen kadar kullanılabilir. Kullanılması zorunlu bir parametredir. |
Geri Dönen Değerler
Eğer mesaj kutusu şeklinde kullanılıyorsa, sadece tek bir tam sayı geri dönüş değeri vardır. Aşağıdaki tabloda hangi tam sayı değeri dönüldüğü gösterilmiştir. Geri dönülen tam sayı değeri yerine, sabit adlarda kullanılabilir.
Dinamo ERP Sabit Ad |
vbscript Sabit Ad |
Değer |
Açıklama |
IDOK |
vbOK |
1 |
OK (Tamam) tuşunun seçildiğini belirten değer. |
Eğer fonksiyon toplu bir işlemde (batch) kullanılıyorsa, geri dönen değer her zaman -1 (eksi bir) tam sayı değeridir.
Hatırlatmalar
•Tuş açıklamaları (İngilizce, Türkçe vb. ), işletim sisteminin kurulum diline göre değişebilir.
•Mesaj kutularında klavyedeki ESC (Escape) tuşuna basıldığında da sistem 1 (IDOK, vbOK) değeri geri dönülür.
•vbScript lisanındaki MsgBox fonksiyonu ile karıştırılmamalıdır. Burada bahssetiğimiz MsgBox fonksiyonu Döküman nesnesinin elamanıdır. vbScript MsgBox fonksiyonu batch işlemlerde işlevini sürdürür.
Örnek
Yukarıdaki örnekte, aralarında bir satır boşluk verilen bir mesaj, standart mesaj kutusu kullanılarak oluşturulmuştur. Kullanıcı seçimine göre de sonuç başka bir mesaj kutusunda yeni bir mesaj olarak gösterilmiştir. Bu durumda mesaj kutuları, aşağıdaki resimlerdeki gibi görülecekti.
Sub Makro1() Dim Batch Set Batch = Doc.CreateSObject("BatchErrorMode") Mesaj = "Uyarı! İşlemlerde hata bulundu." & chr(13) & chr(13) & "Devam etmek ister misiniz?" GeriDonusDegeri = Doc.MsgBox(Mesaj) If GeriDonusDegeri = IDOK then Sonuc = "İşleme hatalı devam edildi." Else Sonuc = "İşlem durduruldu" End If End Sub |
Eğer ki yukarıdaki örnekte olduğu gibi toplu işlem (batch) nesnesi kullanılırsa, ekrana mesaj kutuları gelmeyecekti. Batch değişkeni, sistemi toplu işlem moduna geçirmektedir. Bu mesajlar ilgili prosedürden (Sub) çıkınca, baskı öncesi ekranda aşağıdaki gibi görünecekti.
Bu kullanım şeklinde sistem her mesaj kutusuna da (-1) değerini geri dönecektir. Dolayısıyla ikinci mesaj olan Sonuç değişkeni “İşlem durduruldu” değerini almıştır.
Paylaşım Makrosu
Copyright © <2017> by <Birleşik Yazılım>. All Rights Reserved.