asp调用Word打印的代码

 更新时间:2007年04月06日 00:00:00   作者:  
调用Word打印... 
运行下列的脚本需要将IE的安全级别设为低,或在中级安全级别下将那个ActiveX控件设为启用,别忘记了: 
<html> 
<head> 
<title>Build Document by Script</TITLE> 
</HEAD> 
<Table id="myData" border=1 align=center> 
<Tr align=center> 
<Td>产品名称</Td> 
<Td>产品描述</Td> 
<Td>产品单价</Td> 
<Td>产品等级</Td> 
</Tr> 
<Tr align=center> 
<Td>产品一</Td> 
<Td>This is a test</Td> 
<Td align=right>300.50</Td> 
<Td>一级</Td> 
</Tr> 
<Tr align=center> 
<Td>产品二</Td> 
<Td>This is a test</Td> 
<Td align=right>300.50</Td> 
<Td>一级</Td> 
</Tr> 
<Tr align=center> 
<Td>产品三</Td> 
<Td>This is a test</Td> 
<Td align=right>300.50</Td> 
<Td>一级</Td> 
</Tr> 
</Tabld> 
<input type=button onclick="vbscript:buildDoc '',4" value="build"> 
<BODY> 
</BODY> 
</HTML> 
<script language="vbscript"> 
Sub buildDoc(theTemplate,intTableRows) 
Dim Table1 
set Table1 = document.all.myData 
row = Table1.rows.length 
Set objWordDoc = CreateObject("Word.Document") 
ObjWordDoc.Application.Visible=True 
Dim theArray(4,4) 
'Redim Preserve theArray(4,row) 
colnum = Table1.rows(1).cells.length 
for i=0 to row-1 
for j=0 to colnum-1 
theArray(j+1,i+1) = Table1.rows(i).cells(j).innerHTML 
next 
next 
intNumrows = 4 
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("测试的表格") 
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("") 
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("") 
Set rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range 
With rngPara 
.Bold = True 
.ParagraphFormat.Alignment = 1 
.Font.Name = "Arial" 
.Font.Size = 12 
End With 
Set rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range 
Set tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,intNumrows,4) 
for i = 1 to colnum 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray(i,1) 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1 
next 
tabRow = 2 
For j = 2 to intNumrows 
'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(1).Range.ParagraphFormat.alignment=1 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(2).Range.InsertAfter theArray(2,j) 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(2).Range.ParagraphFormat.alignment=1 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).Range.InsertAfter FormatCurrency(theArray(3,j)) 
objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(3).Range.ParagraphFormat.alignment=2 
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.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.ParagraphFormat.alignment=1 
tabRow = tabRow + 1 
Next 
' objWordDoc.Application.ActiveDocument.Tables(1).Rows(tabRow).Cells(4).Range.ParagraphFormat.alignment=1 
'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") 
'objWordDoc.Application.ActiveDocument.Envelope.Insert Address 
' objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertAfter("由廖家远设计") 
objWordDoc.Application.ActiveDocument.SaveAs "tempSample.doc", 0,False,"",True,"",False,False,False, False,False 
'objWordDoc.Application.printout() 
End Sub 
</script>

相关文章

最新评论