vbs de mesaj kutuları


Vbs de mesaj  kutusu

Vbs de bazen kullanıcıya evet hayır , iptal gibi seçenekler sunmak gerekecektir , bunu da basitçe mesaj kutuları ile yapmak mümkündür , mesaj kutuları scripte esneklik kazandıracak ve kullanıcı insiyatifi

katacaktır , elbette diğer prgoramlama dilleri gibi gelişmiş olmasada işimizi görecek kadar seçenek mevcuttur , en basitinden bir mesaj çıkartmak için aşağıdaki kodu kullanabiliriz

x=msgbox("Yazı buraya gelecek" ,0, "başlık")

üstteki kodu not defterine yapıştırıp bir isim verdikten sonra sonu .vbs olacak şekilde kaydeder ve çalıştırırsak aşağıdaki mesaj kutusu görüntülenecektir.

vbs mesaj

Koddaki “başlık” ve “yazı buraya gelecek” kısımlarının resimdeki yerleri açıkça belli , bunlarda istediğimiz değişikliği yapabiliriz peki kodda birde sıfır var o nedir derseniz açıklaması ve 0 yerine gelebilecek rakamlar:

0 =Sadece OK butonu (Tamam)
1 =OK ve Cancel butonları (tamam ve İptal butonları)
2 =Abort, Retry, ve Ignore butonları (iptal etmek , yeniden denemek ve aldırma butonları)
3 =Yes, No, ve Cancel butonları (Evet , Hayır ve iptal butonları)
4 =Yes ve No butonları (Evet , Hayır)
5 =Retry ve Cancel butonları (Yeniden dene , İptal)
16 =Critical Message icon (kritik mesaj ikonu)
32 =Warning Query icon (Uyaarı sorgu ikonu)
48 = Warning Message icon (Uyarı mesaj ikonu)
64 =Information Message icon (Bilgi mesaj ikonu)
0 = First button is default (ilk buton varsayılan)
256 =Second button is default (ikincı buton varsayılan)
512 =Third button is default (üçüncü buton varsayılan)
768 =Fourth button is default (Dördüncü buton varsayılan)
0 =Application modal (Kullanıcı mesaj kutusuna tepki verene kadar script işlem yapmaz)
4096 =System modal (Kullanıcı mesaj kutusuna tepki verene kadar hiçbir yazılım çalışmaz)

Gelin Kullanıcı tercihinin işin içinde olduğu birkaç örnek yapalım kullanıcının tercihine göre işlem yaptırmayı belkide en iyi izah edecek örnek evet – hayır örneğidir (Aşağıda)

result = MsgBox ("Evet veya Hayır?", vbYesNo, "Evet hayır örneği")

Select Case result
Case vbYes
    MsgBox("Evet dediniz")
Case vbNo
    MsgBox("Hayır dediniz")
End Select

Üstteki kodu not defterine yapıştırıp bir isim verelim ve sonu .vbs olacak şekilde kaydedelim çalıştırdığımızda hangi butona bastıksa bize onu belirtecektir (Evet butonuna basarsak “Evet butonuna bastınız” der)

Evet hayır vbs örenği

Üstteki örnekte kod en yalın hali ile nasıl çalıştığını açıklıyor kodda MsgBox(“Evet dediniz”) yerine Evet dendiğinde her ne yapılmak isteniyorsa kodları konulursa evet butonu ile bu eylem gerçekleşecektir aynı şekilde , MsgBox(“Hayır dediniz”) yerine konacak kodlarla da kullanıcının hayır butonuna bastığında gerçekleşecek olan eylem tanımlanabilir gelin kullanıcıya not defterini açmak isteyip istemediğini soralım

result = MsgBox ("Not defterini açmak istermisiniz?", vbYesNo, "Not defteri örneği")

Select Case result
Case vbYes
    Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "notepad.exe"
Set oShell = Nothing
Case vbNo
End Select

Üstteki kod çalıştırıldığında aşağıdaki gibi bir seçenek kutusu belirecektir

vbs de not defterini açalım

Kullanıcı evet butonuna basarsa Not defteri açılacak hayır derse script tepki vermeyecektir , koda dikkat edilirse üstte de açıkladığım üzere sadece MsgBox kodlarının yerine gerçekleştirmek istediğimiz eylemlerin kodları geldi. Peki Kullanıcıya soru sorduk kullanıcı cevap vermek yerine Bilgisyarın başından kalktı gitti Bu mesaj hep oradamı kalacak mesaja süre konamazmı derseniz elbette verilebilir , mesela aşağıdaki örneğimizde kullanıcı 5 sn içinde evet veya hayır butonlarına basmaz ise script kapanacaktır

Set WshShell = CreateObject("WScript.Shell")
x = WshShell.Popup("Devam etmek istermisiniz?",5,"Sordum.net",4)
If x = vbNo Then Wscript.Quit(0)
If x = VbYes Then
'Your script goes here
msgbox "EVET i seçtiniz!", 4096, "Yes"
End If

Scriptin ikinci satırındaki 5 rakamı sn yi temsil eder bunu istediğimiz gibi arttırıp azaltabiliriz. Üstte verdiğimiz örnekleri .vbs şeklinde aşağıdaki linkten indirip test edebilirsiniz

Download



Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA