六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用ASP創建Microsoft Word 文件

[摘要]隨著人們對數據庫及動態HTML (DHTML)的應用和對XML的興趣的增加,所以在商業網站的數據中使用動態內容變得越來越普遍。這里我們就成功運用了一則最新的技巧——用ASP創建 Word 文件,我想您看后肯定會受到很大的啟發。 原文出處:http://www.asptoday.com/articl...

隨著人們對數據庫及動態HTML (DHTML)的應用和對XML的興趣的增加,所以在商業網站的數據中使用動態內容變得越來越普遍。這里我們就成功運用了一則最新的技巧——用ASP創建 Word 文件,我想您看后肯定會受到很大的啟發。
原文出處:http://www.asptoday.com/articles/19990825.htm

背景

BuildDoc.asp是一個ASP文件,它讀入一個網頁表單的輸出,并創建一個Microsoft Word文件作為輸出, 其中包含根據表單內數據改變產生的一個表格。表單內容不再局限于靜態信息。也就是說, 表單中所顯示的內容可能隨著用戶的交互作用而改變。





BuildDoc所滿足的商業需求是:根據銷售人員網頁列表變化的記錄,建立表單信件。只有被銷售人員修改過的數據才被發送到Word, 在那里這些數據被格式化到表格中。

BuildDoc讀入表單上的所有信息,識別被改變的行,然后用被改變的行中包含的信息來創建一個 Microsoft Word文件。BuildDoc使用一個模板文件(buildDoc.dot),其中包含地址頭和一些預先格式化的文本。然后向文件中寫入一個表格,其中的每一行都對應與網頁表單中被修改過的一行。





怎么做?

開始時,將所有的網頁表單域讀入接收網頁的隱含表單域中。在下面的源代碼中,請注意在Body標記中對“onLoad”的調用。它調用buildDoc VB腳本子程序,向它傳遞3個參數:頁面中表單的內容(所有的隱含域)、Word模板文件的位置、從輸入表單中收到的行數。讀所有的輸入表單域,然后當頁面裝載后調用buildDoc子程序。為了簡短起見,這里假定所有變量在使用之前都已被聲明:

buildDoc.asp中裝載輸入表單域的代碼如下:


〈!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//EN">
〈HEAD>
〈TITLE>Build Document〈/TITLE>
〈META HTTP-EQUIV="Refresh" CONTENT="30;URL='orderForm.asp'">
〈/HEAD>
〈%
dotLocation="'servernamedirectory heTemplate.dot'"
intRowCount = Request.Form("rowCount") 'initialize a row counter
%>
〈BODY Language="VBScript" onLoad="buildDoc document.theForm,
〈%=dotLocation%>,intRowCount>
〈FORM NAME="theForm">
〈%
itemCount = 0 'set field counter to zero
For Each Item in Request.Form 'count up the form fields
itemCount = itemCount + 1 'using For..Next loop
%>
〈INPUT TYPE="hidden" NAME="〈%=Item%>" VALUE="〈%=Request(Item)%>">
〈% Next %>
〈INPUT TYPE="hidden" NAME="numbRows" VALUE="〈%=intRowCount%>">
〈INPUT TYPE="hidden" NAME="fieldCount" VALUE="〈%=itemCount%>">
〈/FORM>
〈/BODY>
〈/HTML>
用下面例子中的代碼來創建一個Word 文件對象。請注意在Internet Explorer 4+中,要將瀏覽器的安全性設置為Low或 Custom,以能使應用程序運行成功。


〈%
Set objWordDoc = CreateObject("Word.Document")
ObjWordDoc.Application.Documents.Add theTemplate, False
ObjWordDoc.Application.Visible=True
%>
調整數組的維數使它與網頁表單所包含的行數相同。這時,將Y軸設為4個常量,這是輸出文件中所需要 的欄數。X軸包含從表單中接收的行數。

〈% Redim Preserve theArray(4,intTableRows) %>

現在開始檢查所有的表單行。在所有輸入的網頁表單域中循環,收集每個表單域名及其相應的值。逐個檢查以決定將其放入哪個數列元素內,然后將其放入。以下舉例代碼中的SELECT CASE命令很重要,這決定表單域屬于哪一列。為了方便,使用不確定編碼的CASE選擇。


〈%
For intCount = 0 to frmData.fieldCount.value
strOkay = "Y"
strSearch = frmData.elements(intCount).name 'load the field name
strValue = frmData.elements(intCount).value 'load the field value
strPosition = Instr(1,strSearch,"_") 'get pos val of "_"
intStringLen=strPosition-1
If intStrLen > 0 Then
strLeft = Left(strSearch,intStringLen)
strRight = Right(strSearch,(Len(strSearch)-Len(strLeft)-1))
Select Case strLeft
Case "SKU" intArrayY=0
Case "description" intArrayY=1
Case "price" intArrayY=2
Case "quantity" intArrayY=3
End Select
IntArrayX = strRight
If strOkay 〈> "N" Then
TheArray(intArrayY, intArrayX) = strValue
End If
End If
Next
%>
現在開始創建文件。對于激活的文件,用變量rngCurrent設置Microsoft Word文件對象RANGE(為了防止用戶打開另一個文件),通過指定表格的位置( rngCurrent)以及行、列的數目來確定其大小。


〈%
Set rngCurrent = objWordDoc.Application.ActiveDocument.Content
Set tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add
rngCurrent,intNumrows,4)
%>
創建了有表格的文件之后,我們開始往表格中裝入數據。首先指到第一行row(tabRow=1 ), 然后進行逐行循環。在每行結尾處插入回車[Chr(10)],以便產生行間空行,最后增加行計數器,用“FormatCurrency” 輸出美圓值以保證使用$符號、逗號、小數點的位置。通過在
“ParagraphAlignment=2”處設置欄數來實現美圓數量的正確調整。用VBA容易一些,不象用VBScript那樣難。


〈%
For j = 1 to intTableRows

ObjWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Borders.Enable=False

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(1).Range.InsertAfter
theArray(1,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(2).Range.InsertAfter
theArray(2,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).Range.InsertAfter
FormatCurrency(theArray(3,j))

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.InsertAfter
theArray(4,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.InsertAfter
Chr(10)

objWordDoc.Applicatoin.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).
Range.ParagraphFormat.alignment=2

tabRow = tabRow + 1

Next
%>
最后用一些收尾性的文字來結束文件,指定模板位置,然后結束子程序。


〈%
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Thank you for shopping at Acme Co., and please come again!")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter("Regards,")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.InsertAfter(" ")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Daryl B. Morticum")
objWordDoc.Application.ActiveDocument.Paragraph.Add.Range.
InsertAfter("Sales Associate")
End Sub
%>
希望對你做相同的工作能有一些幫助。我可以肯定需要從網頁表單中創建文件的不止我自己。 這是我的方法。如果你有更好的方法,我很愿意學習。
(出處:熱點網絡)


主站蜘蛛池模板: 天堂资源在线 | 日韩操穴 | 四虎永久在线精品国产馆v视影院 | 亚洲国产日韩欧美在线a乱码 | 亚洲国产精品久久久久666 | 啪啪免费看视频 | 天天操天天舔天天射 | 色婷婷色| 日韩一区二区精品久久高清 | 在线一区视频 | 影音先锋色先锋 | 天天躁日日躁狠狠躁中文字幕 | 中文字幕波多野结衣免费视频 | 亚洲欧美在线视频观看 | 色噜噜狠狠色综合网图区 | 午夜久久久久久亚洲国产精品 | 四虎在线播放免费永久视频 | 青青青国产成人久久111网站 | 亚州精品永久观看视频 | 亚洲视频一区二区 | 亚洲欧美综合图片 | 手机看片国产欧美日韩高清 | 五月婷婷六月丁香在线 | 伊人电院网 | 五月天久久婷婷 | 日韩免费一区二区三区在线 | 永久免费mv网站入口 | 一级做a爰 | 亚洲午夜久久久久中文字幕 | 天干天干天啪啪夜爽爽色 | 日日弄| 色噜噜狠狠狠狠色综合久 | 色欲香天天天综合网站 | 四虎地址 | 性生大片一级毛片免费观看 | 天天干天天色天天射 | 视频91在线 | 亚洲欧美日韩综合久久久久 | 亚欧人成精品免费观看 | 一二三四手机在线观看视频播放 | 日本三级视频 |