导出DBGrid为Word表格。procedure TForm1.Button1Click(Sender: TObject);
var
WordApp,WordDoc,WordTable:OleVariant;
i,j:integer;
begin
WordApp:=CreateOleObject('Word.Application');
WordApp.Visible:=True;
WordDoc:=WordApp.Documents.Add;
WordTable:=WordDoc.Tables.Add(WordApp.Selection.Range,DBGrid1.DataSource.DataSet.RecordCount+1,DBGrid1.Columns.Count);
for i:=1 to DBGrid1.Columns.Count do
WordTable.Cell(1,i).Range.InsertAfter(DBGrid1.Columns[i-1].Title.Caption);
i:=2;
with DBGrid1.DataSource.DataSet do
while not eof do
begin
for j:=1 to DBGrid1.Columns.Count do
WordTable.Cell(i,j).Range.InsertAfter(DBGrid1.Columns[j-1].Field.Value);
Next;
Inc(i);
end;
end;编译的时候这行程序报错:
WordApp:=CreateOleObject('Word.Application');
错误为:
[Error] U_1.pas(472): Undeclared identifier: 'CreateOleObject'
我在窗体上就放了一个dbgrid和一个button,是不是缺什么控键?
var
WordApp,WordDoc,WordTable:OleVariant;
i,j:integer;
begin
WordApp:=CreateOleObject('Word.Application');
WordApp.Visible:=True;
WordDoc:=WordApp.Documents.Add;
WordTable:=WordDoc.Tables.Add(WordApp.Selection.Range,DBGrid1.DataSource.DataSet.RecordCount+1,DBGrid1.Columns.Count);
for i:=1 to DBGrid1.Columns.Count do
WordTable.Cell(1,i).Range.InsertAfter(DBGrid1.Columns[i-1].Title.Caption);
i:=2;
with DBGrid1.DataSource.DataSet do
while not eof do
begin
for j:=1 to DBGrid1.Columns.Count do
WordTable.Cell(i,j).Range.InsertAfter(DBGrid1.Columns[j-1].Field.Value);
Next;
Inc(i);
end;
end;编译的时候这行程序报错:
WordApp:=CreateOleObject('Word.Application');
错误为:
[Error] U_1.pas(472): Undeclared identifier: 'CreateOleObject'
我在窗体上就放了一个dbgrid和一个button,是不是缺什么控键?
解决方案 »
- TDATASOURCE可以写数据进去吗?
- delphi中datetimepicker控件
- adotable的小问题
- ClientSocket占用的资源在什么时候释放??
- !!!关于信使服务,关于netapi32.dll~Up也给分!!!
- 请问谁知道 BugTrace 软件?在那儿有下载?
- inetmsg控件安装有问题,哪位大侠救我
- 有关DBgrid1保存问题,哪们高手帮忙解决?(源代码)
- 急聘请一或两位兼职Delphi程序员--beijing
- 请问各位,是在企业管理器中还是在查询分析器中编写触发器.
- 求一SQL语句
- 弱弱地问,DELPHI源码编辑器中“Last Position” 的快捷键是什么?
uses ComObj;
不然都没法编译通过!
uses ComObj;