使用ASP和Word进行服务器端拼写检查
使用ASP和Word进行服务器端拼写检查,使用ASP和Word进行服务器端拼写检查
本文讨论的问题与下列方面相关:
Microsoft Word 97 for Windows
Microsoft Visual InterDev, version 6.0
Microsoft Internet Information Server version 4.0
概要
本文描述了如何使用Microsoft Word在Web页面ASP文件中添加拼写检查功能。
详细的步骤
按照下列步骤建立ASP应用程序:
1、在Web服务器所在机器上,启动Microsoft Visual Interdev 6.0,选择File/New Project。
2、在“新工程”对话框的名字编辑域中,输入“WebSpell”,然后双击新Web工程图标。
3、在接着出现的Web工程向导对话框中,输入或者选择你的Web服务器名字。将工作模式默认为Master,点击Next,再点击
“finish”。
4、在Visual InterDev创建工程完成后,打开工程菜单,选择“添加Web ItemHTML页面”,命名为“CheckSpelling”,
然后点击Open。
5、添加的HTML页面默认状态下以设计视图打开。在页面上拖出一个HTML文本区域,放置一个HTML提交按钮,根据你的爱好
进行布局,在页面上输入一些文字,告诉用户在文本域中输入需要进行拼写检查的文字。
6、选择页面上的所有对象(CTRL+A),然后从Visual InterDev的 HTML菜单中选择Form,将对象包裹在表单中。
7、点击当前窗口底部的源码功能页面,切换到源码显示视图。修改HTML开放< FORM 标记的action属性值为
results.asp。
8、打开Project菜单,选择“添加Web ItemActive Server Page”,命名为“results”,然后点击“Open”。
9、对于新页面,切换到源码视图,在<BODY标记之间输入下面的代码:
<!-- Page header --
<p<center<font size=+4 color=redSpelling Results</font</center<hr
<!-- Show user the text they entered --
<pThe text you entered was:<p
<font color=blue<%=Request("TEXTAREA1")%</font<p<hr<p
<!-- Begin server-side script to check spelling errors --
<%
' Don't allow other sessions to re-enter :)
do while(Application("WordInUse") = 1)
loop
Application("WordInUse") = 1
' Get Word references created in global.asa.
dim wdApp
set wdApp = Application("WordApp")
dim wdDoc
set wdDoc = Application("WordDoc")
' Clear current contents.
dim wdRange
set wdRange = wdApp.Selection.Range
wdRange.WholeStory
wdRange.Delete
set wdRange = Nothing
' Add the text the web user entered.
dim txt
txt = Request("TEXTAREA1")
wdApp.Selection.TypeText CStr(txt)
' Check spelling without prompting.
'wdDoc.CheckSpelling , , 0
' Get spelling errors collection.
dim wdErrors
set wdErrors = wdDoc.SpellingErrors
%
<% ' Handle no-error condition.
if wdErrors.Count = 0 then
%
There were no spelling errors.
<%
' Otherwise build a table of suggestions.
else
%
<!-- Build a table to show errors & suggestions --
<font color=redThere were <%=wdErrors.Count% spelling error(s).</font<p
<TABLE border=1 cellPadding=1 cellSpacing=1 width=75%
<TR
<TD<b<font size=+1Word</font</b</TD
<TD<b<font size=+1Suggestions</font</b</TD</TR
<%
for each wdError in wdErrors
' Write the word in question.
Response.Write("<TR<TD")
Response.Write(wdError.Text)
Response.Write("</TD<TD")
' Get spelling suggestions for it.
dim wdSuggestions
set wdSuggestions = wdApp.GetSpellingSuggestions(wdError.Text)
if wdSuggestions.Count < 0 then
' a comma-separated list of suggestions.