用vbs如何確定在 HTA 中選擇了哪些文本?
您好,腳本專家!如何確定在 HTA 中選擇了哪些文本?
-- DO
答:
您好,DO。您知道,大多數(shù)人認(rèn)為每天編寫“您好,腳本專家!”專欄是世界上最吸引人、最令人興奮的工作之一。如果編寫此專欄的腳本專家不這么懶惰的話,也許是這樣。比如說,很多時候他選擇自己認(rèn)為可以編成腳本的問題。通常他手頭沒有能完成問題中提到的任務(wù)的腳本,但他知道可以編寫這樣一個腳本。這是行之有效的方法,但不是特別令人興奮的方法。
不過,這個問題有點不太一樣。您如何能確定在 HTA 中選擇了哪些文本?哎呀,我們也拿不準(zhǔn)您是否能確定在 HTA 中選擇了哪些文本。但是,事實證明您能夠確定:
<html>
<head>
<title>HTA Test</title>
</head>
<SCRIPT LANGUAGE="VBScript">
Sub ShowSelection
Set objSelection = Document.Selection.CreateRange()
Msgbox objSelection.text
End Sub
</SCRIPT>
<body>
<textarea name="ScriptArea" rows=5 cols=40></textarea><p>
<input id=runbutton type="button" value="Show Selection" onClick="ShowSelection">
</body>
我們在這里使用的是一個小而簡單的 HTA,其外觀如下:
什么?您怎么能沒有印象呢?那么,試一試吧。在該文本區(qū)域鍵入一些文本,然后突出顯示該文本的一部分:
現(xiàn)在單擊標(biāo)簽為 Show Selection(顯示選擇)的按鈕。非常幸運的是,您將看到一個消息框,告訴您哪些文本已被選中:
您說對了:看上去就是這個樣子了。
那么,這一切都是如何做到的呢?我們首先創(chuàng)建一個含有一個文本區(qū)域和一個按鈕的 HTA。我們不討論創(chuàng)建 HTA 本身的細(xì)節(jié),如果您需要一些背景信息,請查看 HTA Developers Center(英文)或 Scripting Week 3 webcast on HTAs(英文)。今天我們只重點討論您單擊此按鈕時運行的子例程:
Sub ShowSelection
Set objSelection = Document.Selection.CreateRange()
Msgbox objSelection.Text
End Sub
沒錯:只有兩行代碼。首先我們創(chuàng)建一個新的 TextRange 對象;這一過程可通過調(diào)用 CreateRange() 方法來實現(xiàn),此方法恰好是 Document.Selection 對象的一部分:
Set objSelection = Document.Selection.CreateRange()
事實證明,TextRange 對象的屬性之一就是 Text 屬性。顧名思義,該屬性返回的文本正好是在此特定 TextRange 中找到的文本。要返回當(dāng)前在 HTA 中選定的文本,我們必須要做的就是顯示 Text 屬性的值:
Msgbox objSelection.Text
順便說一下,所選文本并不限于文本框或文本區(qū)域中的文本。選擇此 HTA 內(nèi)的任意文本,看看會發(fā)生什么:
<html>
<head>
<title>HTA Test</title>
</head>
<SCRIPT LANGUAGE="VBScript">
Sub ShowSelection
Set objSelection = Document.Selection.CreateRange()
Msgbox objSelection.text
End Sub
</SCRIPT>
<body>
<p> Here is some text in an HTA. Select any portion of the text and then
click the Show Selection button.</p>
<input id=runbutton type="button" value="Show Selection" onClick="ShowSelection">
</body>
很酷吧?您知道,也許這真是世界上最吸引人、最令人興奮的工作。
好了…。
相關(guān)文章
用hta[javascript]寫的定時重啟或關(guān)機(jī)的小工具
用hta[javascript]寫的定時重啟或關(guān)機(jī)的小工具...2007-08-08
用hta實現(xiàn)制作的無殤 - 快書V1.1打包下載了
用hta實現(xiàn)制作的無殤 - 快書V1.1打包下載了...2007-11-11
如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)
我們可以調(diào)整(如果需要)窗口大小并使其居中,但這樣做時會在屏幕上出現(xiàn)瞬間的閃爍。這并不是太明顯,其實際結(jié)果就是你所期望的:HTA 會位于屏幕中心2013-08-08

