- 相關推薦
怎么用vbscript實現在消息框中顯示一個超鏈接
問:
嗨,ScriptingGuy!可以在消息框中包含指向某個Web頁面的超鏈接嗎?
--CB
答:
嗨,CB。聽起來您好像想要向用戶顯示一個消息框,并且希望在消息框中包含一個超鏈接,以便用戶可以點擊這個鏈接,從而獲得更多信息。例如,假設某個用戶試圖訪問一些資源,但被拒絕了。這種情況下,您可以彈出一個消息框,告訴用戶訪問被拒絕,然后向他們提供一個鏈接,這個鏈接指向的頁面會告訴用戶訪問所需的權限。一般說來,這種辦法會比簡單地說“訪問被拒絕”好得多。
那么,是否可以用腳本編寫語言實現這個目的呢?好吧,據我們所知,目前還不能。消息框中含有超鏈接當然會很酷,但使用腳本編寫語言則僅限于簡單的消息框。
不過,先等等,別忙著離開!您并沒有問我們:“是否存在某種變通辦法可以實現相同目的,但不必在消息框中嵌入超鏈接?”如果您這么問,我們就會告訴您:“總會有變通辦法的!蹦鶎で蟮木褪菑南⒖蛑袑崿F對Web頁面的一鍵式訪問。一個方法就是在消息框中嵌入超鏈接,但不幸的是,我們上面說過,使用VBScript無法實現上述目的。因此,我們試著使用其他辦法看看:為什么不彈出一個消息框,詢問用戶:“您是否想要申請訪問此資源?”呢?如果用戶點擊否,那么腳本就會中止。如果用戶點擊是,腳本就會自動將用戶帶到合適的Web頁面。一個消息框,一鍵式訪問網站。它和使用超鏈接并不十分相同,但結果卻是一樣的。
如您所見,這只需要以下幾行代碼就可以實現:
復制代碼 代碼如下:
SetobjShell=CreateObject("Wscript.Shell")
intMessage=Msgbox("Wouldyouliketoapplyforaccesstothisresource?",_
vbYesNo,"AccessDenied")
IfintMessage=vbYesThen
objShell.Run("http://www.microsoft.com")
Else
Wscript.Quit
EndIf
我們首先創建一個WSHShell對象實例;我們需要創建這個實例,以便彈出Web瀏覽器和鏈接到網站。然后,我們顯示消息框(標題為訪問被拒絕),并詢問用戶:“您是否想要申請訪問此資源?”這個消息框具有一個是按鈕和一個否按鈕,這就是VBScript常量vbYesNo的用途。
注意:有些人可能在想:“等等,我想您應該在VBScript中明確定義這些常量!痹诖蠖鄶登闆r下,這是正確的。如果我們處理的是FileSystemObject(打個比方),那么我們就需要使用類似如下代碼定義常量:
ConstForReading=1
但是,VBScript有一些內部常量。vbYesNo恰好就是其中之一。它用于在消息框中顯示“是”按鈕或“否”按鈕。vbCrLf則是另一個內部常量,它的作用是在字符串末尾添加回車換行。這些內部常量——它們是VBScript語言的一部分——不必定義;在您輸入vbYesNo時,VBScript會知道您的意思。
我們剛才說到哪了?哦,對了,我們彈出一個消息框,并向用戶提供是按鈕和否按鈕。如果用戶點擊是,我們就將他們帶到指定的網站。那么,如何知道用戶點擊的是否為是呢?很簡單:當我們創建消息框時,我們就將用戶響應存儲在變量intMessage中。因此,若要判斷用戶點了哪個按鈕,我們只要檢查intMessage的值就可以了。如果這個值等于vbYesNo(另一個內部常量,等于6),那么用戶點擊的便為是,于是我們就使用Shell對象的Run方法打開網站http://www.microsoft.com。(注意,我們需要做的就是指定URL;然后操作系統就會使用默認瀏覽器導航到該站點。)
那如果用戶點擊的為否呢?這種情況下,我們就會退出(Wscript.Quit)。
恰如我們所說的,這個方法和我們想象中的不完全一樣,但它可以實現這個目的。
順便說一下,如果您想了解有關VBScript的Msgbox函數以及配置這個函數的不同方式的更多信息,請訪問MSDN上的“VBScript語言參考”。
那如果您需要制作精美一點的消息框呢?這種情況下,您可以自己動手制作一個HTML頁面,然后使用這個頁面模擬真實的Windows消息框。不過這個問題我們將在其他時間討論。
【怎么用vbscript實現在消息框中顯示一個超鏈接】相關文章:
word中怎么設置超鏈接07-28
wps中Word怎么去掉自動生成的超鏈接09-14
ppt怎么制作超鏈接10-01
關于Dreamweaver中怎么讓html網頁中的table邊框細線顯示?08-15
VBScript中字節數據操作函數06-20
怎么去掉Word文本框02-18
如何取消Word文檔中的超鏈接11-19
隱藏的文件怎么顯示09-29
word文檔超鏈接怎么做09-01
如何取消Word文檔中的超鏈接呢09-23