用vbs如何確定在 HTA 中選擇了哪些文本?
您好,腳本專(zhuān)家!如何確定在 HTA 中選擇了哪些文本?
-- DO
答:
您好,DO。您知道,大多數(shù)人認(rèn)為每天編寫(xiě)“您好,腳本專(zhuān)家!”專(zhuān)欄是世界上最吸引人、最令人興奮的工作之一。如果編寫(xiě)此專(zhuān)欄的腳本專(zhuān)家不這么懶惰的話,也許是這樣。比如說(shuō),很多時(shí)候他選擇自己認(rèn)為可以編成腳本的問(wèn)題。通常他手頭沒(méi)有能完成問(wèn)題中提到的任務(wù)的腳本,但他知道可以編寫(xiě)這樣一個(gè)腳本。這是行之有效的方法,但不是特別令人興奮的方法。
不過(guò),這個(gè)問(wèn)題有點(diǎn)不太一樣。您如何能確定在 HTA 中選擇了哪些文本?哎呀,我們也拿不準(zhǔn)您是否能確定在 HTA 中選擇了哪些文本。但是,事實(shí)證明您能夠確定:
<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>
我們?cè)谶@里使用的是一個(gè)小而簡(jiǎn)單的 HTA,其外觀如下:
什么?您怎么能沒(méi)有印象呢?那么,試一試吧。在該文本區(qū)域鍵入一些文本,然后突出顯示該文本的一部分:
現(xiàn)在單擊標(biāo)簽為 Show Selection(顯示選擇)的按鈕。非常幸運(yùn)的是,您將看到一個(gè)消息框,告訴您哪些文本已被選中:
您說(shuō)對(duì)了:看上去就是這個(gè)樣子了。
那么,這一切都是如何做到的呢?我們首先創(chuàng)建一個(gè)含有一個(gè)文本區(qū)域和一個(gè)按鈕的 HTA。我們不討論創(chuàng)建 HTA 本身的細(xì)節(jié),如果您需要一些背景信息,請(qǐng)查看 HTA Developers Center(英文)或 Scripting Week 3 webcast on HTAs(英文)。今天我們只重點(diǎn)討論您單擊此按鈕時(shí)運(yùn)行的子例程:
Sub ShowSelection
Set objSelection = Document.Selection.CreateRange()
Msgbox objSelection.Text
End Sub
沒(méi)錯(cuò):只有兩行代碼。首先我們創(chuàng)建一個(gè)新的 TextRange 對(duì)象;這一過(guò)程可通過(guò)調(diào)用 CreateRange() 方法來(lái)實(shí)現(xiàn),此方法恰好是 Document.Selection 對(duì)象的一部分:
Set objSelection = Document.Selection.CreateRange()
事實(shí)證明,TextRange 對(duì)象的屬性之一就是 Text 屬性。顧名思義,該屬性返回的文本正好是在此特定 TextRange 中找到的文本。要返回當(dāng)前在 HTA 中選定的文本,我們必須要做的就是顯示 Text 屬性的值:
Msgbox objSelection.Text
順便說(shuō)一下,所選文本并不限于文本框或文本區(qū)域中的文本。選擇此 HTA 內(nèi)的任意文本,看看會(huì)發(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]寫(xiě)的定時(shí)重啟或關(guān)機(jī)的小工具
用hta[javascript]寫(xiě)的定時(shí)重啟或關(guān)機(jī)的小工具...2007-08-08
hta實(shí)現(xiàn)的笨狼樹(shù)狀節(jié)點(diǎn)查看器
笨狼樹(shù)狀節(jié)點(diǎn)查看器2008-07-07
用hta實(shí)現(xiàn)制作的無(wú)殤 - 快書(shū)V1.1打包下載了
用hta實(shí)現(xiàn)制作的無(wú)殤 - 快書(shū)V1.1打包下載了...2007-11-11
如何使一個(gè)HTA位于屏幕中心(Win32_DesktopMonitor)
我們可以調(diào)整(如果需要)窗口大小并使其居中,但這樣做時(shí)會(huì)在屏幕上出現(xiàn)瞬間的閃爍。這并不是太明顯,其實(shí)際結(jié)果就是你所期望的:HTA 會(huì)位于屏幕中心2013-08-08
用hta與ajax實(shí)現(xiàn)的五筆字型編碼查詢工具
用hta與ajax實(shí)現(xiàn)的五筆字型編碼查詢工具...2007-03-03
HTANoid 用hta編寫(xiě)的一個(gè)經(jīng)典的游戲
這個(gè)是外國(guó)人用hta寫(xiě)的一些比較經(jīng)典的小游戲,喜歡hta的朋友看看2013-08-08

