MSDN(98版) Microsoft Office Development/Office 97 Documentation/Office/Microsoft Office 97 Visual Basic Language Reference/Volume 2还不错,应该能够解决你所有的问题了。
MSDN/搜索/automation 完全安装OFFIC(包括帮助文档)
Option ExplicitPrivate Sub Command1_Click() Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset Dim i As Integer, j As Integer
Dim xls As New Excel.Application '建立一个EXCEL应用程序对象 Dim xbook As New Excel.Workbook '建立一个EXCEL工作薄对象 Dim xsheet As New Excel.Worksheet '建立一个EXCEL工作表象 Dim paths As String, filenames As String
i = 3 '输出数据从第4行开始 rs.MoveFirst Do Until rs.EOF i = i + 1 For j = 0 To rs.Fields.Count - 1 xsheet.Cells(i, j + 1) = rs.Fields(j).Value Next j If (i - 4) Mod 20 = 0 And i <> 4 Then '每20条记录为一页 xsheet.Range(xsheet.Cells(i, 1), xsheet.Cells(i, rs.Fields.Count)).Select '这一行尤其重要,用于选中当前添加的最后一行 SendKeys "^{end}" '向应用程序EXCEL发送一个组合键CTRL+END,使光标移到文件尾 xsheet.HPageBreaks.Add Before:=ActiveCell '添加一个分页符 End If rs.MoveNext Loop' xbook.SaveAs FileName:=filenames, FileFormat:= _ ' xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ ' , CreateBackup:=False '另存文件,以防破坏模板文件 ' xls.Quit '退出EXCEL Set xsheet = Nothing '释放对象变量 Set xbook = Nothing Set xls = Nothing End Sub
完全安装OFFIC(包括帮助文档)
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim i As Integer, j As Integer
Dim xls As New Excel.Application '建立一个EXCEL应用程序对象
Dim xbook As New Excel.Workbook '建立一个EXCEL工作薄对象
Dim xsheet As New Excel.Worksheet '建立一个EXCEL工作表象
Dim paths As String, filenames As String
paths = IIf(Right(App.Path, 1) = "\", App.Path, App.Path + "\")
filenames = paths & "报表模板.xls"
Set xbook = xls.Workbooks.Open(filenames)
'打开一个已经建立好的模板文件
Set xsheet = xbook.Worksheets(1)
'将当前工作薄的第一个工作表赋给XSHEET对象
xls.Visible = True '将EXCEL设到前台,在程序调试阶段这一步很重要
cn.CursorLocation = adUseClient
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\运动会管理系统.mdb;Persist Security Info=False"
cn.Open
Set rs = cn.Execute("select * from 学生成绩表")
xsheet.Columns("A:A").NumberFormatLocal = "@" '将第A列设置成文本型
i = 3 '输出数据从第4行开始
rs.MoveFirst
Do Until rs.EOF
i = i + 1
For j = 0 To rs.Fields.Count - 1
xsheet.Cells(i, j + 1) = rs.Fields(j).Value
Next j
If (i - 4) Mod 20 = 0 And i <> 4 Then '每20条记录为一页
xsheet.Range(xsheet.Cells(i, 1), xsheet.Cells(i, rs.Fields.Count)).Select '这一行尤其重要,用于选中当前添加的最后一行
SendKeys "^{end}" '向应用程序EXCEL发送一个组合键CTRL+END,使光标移到文件尾
xsheet.HPageBreaks.Add Before:=ActiveCell '添加一个分页符
End If
rs.MoveNext
Loop' xbook.SaveAs FileName:=filenames, FileFormat:= _
' xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
' , CreateBackup:=False '另存文件,以防破坏模板文件
' xls.Quit '退出EXCEL
Set xsheet = Nothing '释放对象变量
Set xbook = Nothing
Set xls = Nothing
End Sub