日期:2012-11-01  浏览次数:20939 次

本文讨论的问题与下列方面相关:

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 Item\HTML页面”,命名为“CheckSpelling”,
然后点击Open。

5、添加的HTML页面默认状态下以设计视图打开。在页面上拖出一个HTML文本区域,放置一个HTML提交按钮,根据你的爱好
进行布局,在页面上输入一些文字,告诉用户在文本域中输入需要进行拼写检查的文字。

6、选择页面上的所有对象(CTRL+A),然后从Visual InterDev的 HTML菜单中选择Form,将对象包裹在表单中。

7、点击当前窗口底部的源码功能页面,切换到源码显示视图。修改HTML开放< FORM >标记的action属性值为
results.asp。

8、打开Project菜单,选择“添加Web Item\Active Server Page”,命名为“results”,然后点击“Open”。

9、对于新页面,切换到源码视图,在<BODY>标记之间输入下面的代码:

<!-- Page header -->

<p><center><font size=+4 color=red>Spelling Results</font></center><hr>

<!-- Show user the text they entered -->

<p>The 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=red>There were <%=wdErrors.Count%> spelling error(s).</font><p>

<TABLE border=1 cellPadding=1 cellSpacing=1 width=75%>

<TR>

   <TD><b><font size=+1>Word</font></b></TD>

   <TD><b><font size=+1>Suggestions</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.

      dim strSuggestions

      strSuggestions = ", "

      for each wdSuggestion in wdSuggestions

       strSuggestions = strSuggestions & wdSuggestion.Name & ", "

      next