脚本专栏 发布日期:2025/10/31 浏览次数:1
 
 
什么?您怎么能没有印象呢?那么,试一试吧。在该文本区域键入一些文本,然后突出显示该文本的一部分:
 
 
现在单击标签为 Show Selection(显示选择)的按钮。非常幸运的是,您将看到一个消息框,告诉您哪些文本已被选中:
 
 
您说对了:看上去就是这个样子了。
那么,这一切都是如何做到的呢?我们首先创建一个含有一个文本区域和一个按钮的 HTA。我们不讨论创建 HTA 本身的细节,如果您需要一些背景信息,请查看 HTA Developers Center(英文)或 Scripting Week 3 webcast on HTAs(英文)。今天我们只重点讨论您单击此按钮时运行的子例程:
Sub ShowSelection 
    Set objSelection = Document.Selection.CreateRange() 
    Msgbox objSelection.Text 
End Sub 
没错:只有两行代码。首先我们创建一个新的 TextRange 对象;这一过程可通过调用 CreateRange() 方法来实现,此方法恰好是 Document.Selection 对象的一部分: 
Set objSelection = Document.Selection.CreateRange() 
事实证明,TextRange 对象的属性之一就是 Text 属性。顾名思义,该属性返回的文本正好是在此特定 TextRange 中找到的文本。要返回当前在 HTA 中选定的文本,我们必须要做的就是显示 Text 属性的值: 
Msgbox objSelection.Text 
顺便说一下,所选文本并不限于文本框或文本区域中的文本。选择此 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> 
    <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> 
很酷吧?您知道,也许这真是世界上最吸引人、最令人兴奋的工作。 
好了…。