Wincc中使用VBS實現彈窗定時自動關閉功能
長久以來在使用VBS腳本過程中,在彈窗這塊只使用過msgbox,根據需求設置格式進行彈窗,或者進行二次確認的功能,都是使用msgbox。最近,有個項目需求,該彈窗在彈出以后超過3秒無任何操作的時候,會自動關閉。這時候再使用msgbox就無法滿足要求了,于是想到了popup這個函數。介紹如下:
其用法與msgbox類似,只是多了一個延時自動關閉的過程。以下表格為其屬性介紹:

以下表格是popup返回值的介紹:

使用公式如下:
BT= ws.Popup(strText,[nSecondsToWait],[strTitle],[nType])
參數
ws為WshShell 對象。
strText為要顯示在彈出式消息框中的文本的字符串值。
nSecondsToWait為彈出式消息框最長顯示時間(秒)的數值。
strTitle為包含要作為彈出式消息框的標題顯示的文本的字符串值。
nType為要顯示在彈出式消息框中的按鈕和圖標類型的數值。這些類型確定消息框的使用方法。
BT表示用戶單擊以解除消息框的按鈕號的整數值。該值由 Popup 方法返回。
說明
無論主機可執行文件(WScript.exe 或 CScript.exe)是否運行,Popup 方法都顯示一個消息框。如果 nSecondsToWaitis 等于零(默認值),彈出式消息框將保持可見,除非用戶關閉它。如果 nSecondsToWaitis 大于零,則彈出式消息框在 nSecondsToWait 秒之后關閉。如果未提供參數 strTitle,則在默認情況下,彈出式消息框的標題為 "Windows Script Host"(Windows 腳本宿主)。nType 的含義與 Microsoft Win32? 應用程序編程接口的 MessageBox 函數的含義相同。下列各表顯示這些值及其含義。您可組合這些表中的值。
于是根據以上內容,在Wincc中新建一個按鈕,在按鈕左鍵點擊事件中創建了一下腳本:
Dim ws Set ws = Createobject("wscript.shell") ws.popup "消息",5,"標題",vbInformation+vbSystemMODAL '5為延時五秒,64用法見下圖
通過測試,當彈窗出現時,點擊確認彈窗會立即消失,如果不點擊確認,彈窗會在設定的5秒之后自動消失,加入vbSystemMODAL參數的目的是為了讓彈窗始終保持在最前。
浙公網安備 33010602011771號