问:
请问采用ole方式,怎么打开一个word文档,并遍历其表格内容!注:
1, 表格为标准行列“规则”
2, 文档中只有一个表格!
现有代码:
wa := CreateOleObject('Word.Application');
wa.Documents.Open( OpenDialog1.FileName );
wa.visible := true;
showmessage(inttostr(wa.ActiveDocument.Tables.count));

解决方案 »

  1.   

    跟一般的差不了多少吧,我这儿没有现成的代码,以下是设置表格列的宽度,可以参考
        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;
      

  2.   

    非常感谢楼上回复!我是第一次用word.application!~ 已解决一部分:
    可访问指定表格单元的语句,老写不对! 请指点!    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;
      

  3.   

    试试:
    wa.ActiveDocument.Tables.Item(1).Cell(1,1).Range.Text
      

  4.   

    一般来说,都是对Range操作的,比如:
    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;
      

  5.   

    再次感谢xxmmmx(踢踏) 就是它了,:)
    wa.ActiveDocument.Tables.Item(1).Cell(1,1).Range.Text