问:
请问采用ole方式,怎么打开一个word文档,并遍历其表格内容!注:
1, 表格为标准行列“规则”
2, 文档中只有一个表格!
现有代码:
wa := CreateOleObject('Word.Application');
wa.Documents.Open( OpenDialog1.FileName );
wa.visible := true;
showmessage(inttostr(wa.ActiveDocument.Tables.count));
请问采用ole方式,怎么打开一个word文档,并遍历其表格内容!注:
1, 表格为标准行列“规则”
2, 文档中只有一个表格!
现有代码:
wa := CreateOleObject('Word.Application');
wa.Documents.Open( OpenDialog1.FileName );
wa.visible := true;
showmessage(inttostr(wa.ActiveDocument.Tables.count));
Doc:=WordApp.Documents.Add; //各列的宽度
for i:=iTableMax downto 1 do
begin
Doc.Tables.Item(i).Columns.Item(1).Width:=35;
Doc.Tables.Item(i).Columns.Item(2).Width:=100;
Doc.Tables.Item(i).Columns.Item(3).Width:=100;
Doc.Tables.Item(i).Columns.Item(4).Width:=80;
Doc.Tables.Item(i).Columns.Item(5).Width:=50;
Doc.Tables.Item(i).Columns.Item(6).Width:=50;
Doc.Tables.Item(i).Columns.Item(7).Width:=35;
Doc.Tables.Item(i).Columns.Item(8).Width:=35;
end;
可访问指定表格单元的语句,老写不对! 请指点! iCol := wa.ActiveDocument.Tables.item(1).Columns.count;
iRow := wa.ActiveDocument.Tables.item(1).Rows.count; for i:=1 to iRow do
for j:=1 to iCol do
begin
memo1.lines.add('insert into' + wa.ActiveDocument.Tables.item(1).cell(i,j).text); // 报错, '...'method is not supported end;
wa.ActiveDocument.Tables.Item(1).Cell(1,1).Range.Text
var
Ran: Variant; //定义Word文档的范围
//定义全文的字体为12,粗体
Ran:=Doc.Range;
Ran.Font.Size:=12;
Ran.Bold:=true; //文章标题的字体为16,粗体,中心对齐
Ran:=Doc.Paragraphs.Item(1).Range;
Ran.Font.Size:=16;
Ran.Bold:=true;
Ran.ParagraphFormat.Alignment:=wdAlignParagraphCenter; //各个表名的字体为14,粗体
for i:=0 to iTableMax-1 do
Doc.Paragraphs.Item(iRan[i,0]-1).Range.Font.Size:=14;
wa.ActiveDocument.Tables.Item(1).Cell(1,1).Range.Text