📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,Word2000;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button1: TButton;
DBNavigator1: TDBNavigator;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
UnitWord, UnitExcel;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..MAX_PATH] OF char;
spath:string; //应用程序的路径
begin
Screen.Cursor:=crhourglass; //置光标为工作状态
getcurrentdirectory(sizeof(a),a); //取出应用程序的路径
spath:=strpas(a);
with FormWord do begin //启用FormWord的方法
Wordopen; //连接Word应用程序,置为可视状态
RunMacro('AppMinimize'); //运行宏命令,使Word窗口最小化
DocOpen(spath+'\多媒体教室使用一览表.doc'); //打开预制的Word模版
Gotobookmark('sx'); //将光标置于书签sx
ADOTable1.First; //将数据集的指针指向第一条记录
while not ADOTable1.Eof do begin //将数据库中的数据填入报表
Wtext(ADOTable1.FieldByName('ID').AsString); //填写ID字段中的数据
MoveRight; //光标右移
Wtext(ADOTable1.FieldByName('教室').AsString);MoveRight;
Wtext(ADOTable1.FieldByName('课程名称').AsString);MoveRight;
Wtext(ADOTable1.FieldByName('任课教师').AsString);MoveRight;
Wtext(ADOTable1.FieldByName('班级').AsString);MoveRight;
Wtext(ADOTable1.FieldByName('多媒体学时').AsString);MoveRight;
RunMacro('Macro_J'); //运行宏命令,添加一行报表,并将光标指向该行
ADOTable1.Next; //将数据集的指针下移一条记录
end;
ADOTable1.First; //将数据集的指针指向第一条记录
DocSaveAs('c:\多媒体教室使用一览表'); //将Word文档保存为指定的文件名
{DocSaveAs('c:\多媒体教室使用一览表',wdFormatHTML); //将报表另存为html文档}
Wordclose; // 关闭Word,切断连接
end;
Screen.Cursor:=crdefault; //光标恢复正常状态
end;
procedure TForm1.Button2Click(Sender: TObject);
var
n:integer;
begin
Screen.Cursor:=crhourglass; //置光标为工作状态
with Formexcel do begin //启用Formexcel的方法
Excelopen; //连接excel应用程序,置为可视状态
NewXls; //创建一个新的工作簿
NewSheet('多媒体教室使用一览表'); // 添加一个名为“多媒体教室使用一览表”的工作表
Wtext('顺序',1,1); //填写表头
Wtext('教室',1,2);
Wtext('课程名称',1,3);
Wtext('任课教师',1,4);
Wtext('班级',1,5);
Wtext('学时',1,6);
ADOTable1.First; //将数据集的指针指向第一条记录
n:=1; //初始行设为1
while not ADOTable1.Eof do begin //将数据库中的数据填入报表
n:=n+1; //行数加1
Wtext(ADOTable1.FieldByName('ID').AsString,n,1); //填写ID字段中的数据写入第n行第1列单元格
Wtext(ADOTable1.FieldByName('教室').AsString,n,2);
Wtext(ADOTable1.FieldByName('课程名称').AsString,n,3);
Wtext(ADOTable1.FieldByName('任课教师').AsString,n,4);
Wtext(ADOTable1.FieldByName('班级').AsString,n,5);
Wtext(ADOTable1.FieldByName('多媒体学时').AsString,n,6);
ADOTable1.Next; //将数据集的指针下移一条记录
end;
ADOTable1.First; //将数据集的指针指向第一条记录
AutoCol; //自动设置列宽
XLSSaveAs('c:\多媒体教室使用一览表'); //将excel文档保存为指定的文件名
ExcelClose; // 关闭excel,切断连接
end;
Screen.Cursor:=crdefault; //光标恢复正常状态
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -