用ASP打印编辑WORD时如何实现打印两个表格?

rubasse200 2003-12-08 10:42:00
<input type=button onclick="vbscript:buildDoc" value="打印"> //点击“打印”按钮,调用vbscript函数buildDoc生成本地Word文档,实现本地打印。
<p>
//以下VBScript代码实现buildDoc函数
<script language="vbscript">
Sub buildDoc
set table = document.all.data //把html文档中的表格data的结构和数据赋值给table
row = table.rows.length //row为table的行数
column = table.rows(1).cells.length //colnum为table的列数
Set objWordDoc = CreateObject("Word.Document") //创建一个Word.Document的对象
Dim theArray(10,10000) //定义数组变量,存放表格中的数据,10是虚拟列数,10000是虚拟行数
//以下两层for循环将html文档的表格中的纯文本数据赋值给数组
for i=0 to row-1
for j=0 to column-1
theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT
next
next

objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("公司员工统计表") //显示表格标题
objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("") //输出标题后回车换行

Set rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range
//以下With代码段设置标题属性
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,row,column)
//以下for循环输出表头
for i = 1 to column
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
//以下两层for循环输出表格实际内容
For i =1 to column
For j = 2 to row
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAfter theArray(i,j)
objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1
Next
Next
objWordDoc.Application.ActiveDocument.SaveAs &"c:\"
End Sub
</script>

以上代码可是生成一个WORD表格文档,如何在同一个文档生成二个表格呢?
讨论也给分
...全文
101 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rubasse200 2003-12-10
  • 打赏
  • 举报
回复
谢谢各位!
wangxjlb 2003-12-10
  • 打赏
  • 举报
回复
mark
yonghengdizhen 2003-12-10
  • 打赏
  • 举报
回复
office在线帮助文档->word VBA参考
cqbonny 2003-12-09
  • 打赏
  • 举报
回复
把你的表格2写在另外的一个网页里面,然后用frame引用在第一个网页里面,打印的时候就分别生成就可以了。
rubasse200 2003-12-09
  • 打赏
  • 举报
回复
以上使用的属性和方法从哪里查呢?我一直没有找到。
谁能告诉我?
谢谢!

rubasse200 2003-12-09
  • 打赏
  • 举报
回复
谢谢!
如果有表格1和表格2要在WORD文档的同一页生成,应当如何实现呢?(以下是表格1和表格2)
<p>表格1</p>
<table border="1" width="100%" id="data">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>
<p>表格2</p>
<table border="1" width="100%" id="data1">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>
用一个打印按钮调用函数实现,函数应当如何写?
还有个问题以上使用的属性和方法从哪里查呢?我一直没有找到。
方便的话,请发给我:amzzok@163.com
谢谢!
rubasse200 2003-12-09
  • 打赏
  • 举报
回复
help
yonghengdizhen 2003-12-09
  • 打赏
  • 举报
回复
往tables集合添加表格就是了

Tables 集合对象

由 Table 对象组成的集合,该对象代表选定内容、范围或文档中的表格。

使用 Tables 集合

可使用 Tables 属性返回 Tables 集合。下例将某一边框应用于活动文档中的每一表格。

For Each aTable In ActiveDocument.Tables
aTable.Borders.OutsideLineStyle = wdLineStyleSingle
aTable.Borders.OutsideLineWidth = wdLineWidth025pt
aTable.Borders.InsideLineStyle = wdLineStyleNone
Next aTable
使用 Add 方法可以在指定范围内新增一表格。下例在活动文档的起始处添加一 3 x 4 表格。

Set myRange = ActiveDocument.Range(Start:=0, End:=0)
ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4
可使用 Tables(index) 返回一个 Table 对象,其中 index 为索引号。索引号代表选定内容、范围或文档中表格的位置。下例将活动文档中的第一个表格转换为文本。

ActiveDocument.Tables(1).ConvertToText Separator:=wdSeparateByTabs
说明

文档中该集合的 Count 属性只返回主文字部分中的项目数,可使用 Range 对象返回其他部分的项目数。
rubasse200 2003-12-09
  • 打赏
  • 举报
回复
On Error Resume Next

strAddr = Server.MapPath(".")

set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false
objExcelApp.Application.Visible = false
objExcelApp.WorkBooks.Open(strAddr & "\Templet\Null.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)

objExcelSheet.Range("B2:k2").Value = Array("Week1", "Week2", "Week3", "Week4", "Week5", "Week6", "Week7", "Week8", "Week9", "Week10")
objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
objExcelSheet.Range("B4:k4").Value = Array("10", "10", "8", "27", "33", "37", "50", "54", "10", "10")
objExcelSheet.Range("B5:k5").Value = Array("23", "3", "86", "64", "60", "18", "5", "1", "36", "80")
objExcelSheet.Cells(3,1).Value="Internet Explorer"
objExcelSheet.Cells(4,1).Value="Netscape"
objExcelSheet.Cells(5,1).Value="Other"

objExcelSheet.Range("b2:k5").Select

objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType = 97
objExcelApp.ActiveChart.BarShape =3
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = "Visitors log for each week shown in browsers percentage"
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1
objExcelApp.ActiveChart.Location 1
'objExcelApp.ActiveChart.HasDataTable = True
'objExcelApp.ActiveChart.DataTable.ShowLegendKey = True

objExcelBook.SaveAs strAddr & "\Templet\Excel.xls"
objExcelApp.Quit
set objExcelApp = Nothing
使用EXCEL实现了,WORD怎么解决?
rubasse200 2003-12-09
  • 打赏
  • 举报
回复
打印的时候两个表格必须在同一页上。cqbonny,能不能讲详细一些。
各位急用,在线等。
rubasse200 2003-12-08
  • 打赏
  • 举报
回复

<p>表格1</p>
<table border="1" width="100%" id="data">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>
<p>表格2</p>
<table border="1" width="100%" id="data1">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
<tr>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>
使用以上代码可以打印表格1(data)
请问各位高手如何打印表格2(data1)
sos
rubasse200 2003-12-08
  • 打赏
  • 举报
回复
没人会吗?

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧