Bagaimana cara mengkonfigurasi tindakan kondisional dengan input pengguna di VBS dengan MsgBox?

0

Hari ini saya mulai mencoba membuat kotak Dialog kustom saya sendiri untuk Windows. Saya dapat menggunakan pintasan / wscript.exe untuk menjalankan file VBS dengan yang berikut: (abaikan dialog. Saya tahu bahwa Drive C: tidak akan dihapus dan saya tidak bermaksud untuk itu terjadi. Ini hanya berlatih sebelum saya membuat yang bermanfaat.)

Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")

Skrip saya berfungsi hingga saat ini, seperti yang ditunjukkan di bawah ini: masukkan deskripsi gambar di sini

Tetapi ketika saya mengklik OK atau Batal pada saat ini, maka saya mendapatkan kesalahan. Di masa lalu, mengklik OK atau Batal baru saja menutup ini sepenuhnya, tapi sekarang saya mendapatkan kesalahan run-time, yang saya pikir lebih baik daripada tidak sama sekali. Namun, kesalahan tidak membantu saya.

masukkan deskripsi gambar di sini

Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")
If x=1 Then
y=MsgBox("The contents of your C: Drive could not be successfully deleted.", 0+64, "Error Formatting Drive C: - System Error 5")
If x=2 Then
x=MsgBox("Not all of the contents of your C: Drive were successfully deleted. Please try again.", 0+64, "Error Formatting Drive C: - System Error 303")

Jika saya menambahkan "instruksi" untuk apa yang harus terjadi selanjutnya, maka saya mendapatkan kesalahan ketika saya membuka file dan saya tidak bisa melakukan apa-apa sama sekali

masukkan deskripsi gambar di sini

Saya sudah mencoba mengubah banyak kode. Saya telah mencoba menggunakan redup, menghapus x, mendefinisikan suatu variabel, mendefinisikan kotak pesan berikutnya sebagai variabel, menghapus tanda kurung, dll ... Saya baru mulai menulis file VBS saya sendiri hari ini, tetapi saya telah melakukan skrip batch dengan file .bat untuk waktu yang lama. Bahkan dengan perubahan bahasa, semua pemecahan masalah saya telah membawa saya ke mana-mana, dan saya hampir yakin bahwa saya telah mendefinisikan variabel dengan benar.

Adakah yang bisa memberi tahu saya jika saya melakukan ini dengan benar? Saya telah mencoba banyak contoh, tetapi bahkan Webpage Resmi Microsoft di VBS-MsgBox tidak berguna. Saya minta maaf sebelumnya jika saya melakukan kesalahan bodoh di suatu tempat, tetapi saya telah mengubah hampir semua kode dan saya masih terjebak.

Bantuan apa pun akan sangat dihargai. Saya sudah menghabiskan 4 jam mencoba untuk memperbaiki masalah yang satu ini.

Tautan Terjalin
sumber
Masalah khusus untuk pemrograman dan pengembangan perangkat lunak adalah di luar topik, lihat On-Topik . Coba Stack Overflow tapi tolong baca dulu Bagaimana cara saya mengajukan pertanyaan yang bagus? .
DavidPostill
Anda perlu mendeklarasikan variabel Anda VBScript Variables
DavidPostill
Maaf jika itu di luar topik, tetapi saya memeriksa situs-situs Stack Exchange lainnya terlebih dahulu dan situs web ini sudah memiliki banyak pertanyaan VBS
InterLinked
@DavidPostill Terima kasih atas tautannya. Setidaknya sekarang saya tahu. Saya juga mencoba menggunakan redup untuk mendefinisikan x, dan itu masih tidak berhasil
InterLinked

Jawaban:

2

Cobalah contoh ini:

Option Explicit
Dim Title,Question
Title = "user input in VBS with MsgBox"
Question = MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed ?",vbYesNo+vbQuestion, Title)
If Question = vbYes Then
    MsgBox "We proceed wipping your C:\ drive",vbExclamation,Title
    'Call your sub here to continue proceeding your script
Else
    MsgBox "Canceling the operation !",vbCritical,Title
    Wscript.Quit()
End If

Untuk informasi lebih lanjut tentang Konstanta MsgBox

Hackoo
sumber