程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
   v,sheet,range:variant;
   i,j:integer;
begin  try
   v:=createoleobject('Excel.Application');//创建OLE对象
  except
    Application.Messagebox('无法打开Xls文件,请确认已经安装EXCEL!','出
    错',mb_OK+mb_IconStop);
    Exit;
  end;  try
  v.visible:=true;
  v.workbooks.add(-4167); //添加工作表
  v.workbooks[1].sheets[1].name:='test';
  sheet:= v.workbooks[1].sheets[1];
  range:=sheet.range[sheet.cells[1,1],sheet.cells[5,6]];//选定表格
  range.select;
  {
  range.selection.VerticalAlignment:=xlcenter;
  range.selection.HorizontalAlignment:=xlcenter;
  range.borders.linestyle:=xlcontinuous; //置边框线可见
   
   // 为何这三行程序没有办法运行啊?**********************
                                   ********************8     
   }     
  
  range.merge; //合并单元格
  range.font.size:=9; //改变表格内文本字体大小 finally
  range:=Unassigned;   //释放VARIANT变量
  sheet:=Unassigned;
  v:=Unassigned;
 end;end;

解决方案 »

  1.   

    出现的错误为:Undeclared identifier: 'xlcenter'
                 Undeclared identifier: 'xlcontinuous' 急需啊!谢谢!
      

  2.   

    xlCenter 用数值-4108代替
    xlContinuous用数值1代替
      

  3.   

    你到EXCEL中打开“工具”-“宏”-“Visual Basic编辑器”,自己去查询。
      

  4.   

    当然会出现那样的错误,Delphi怎么会认识VB的变量类型xlcenter呢?解决的办法有2:
    1、获取该属性的值给一个variant变量,我用枚举的办法获得,因为不可能知道该类型。
    2、引用excelxp或excel2000单元(在servers中),delphi就认识它了。如果你有更好的办法不妨告诉我哟!http://loxe.8u8.com
    [email protected]
      

  5.   

    前面的问题,知道了!谢谢各位了!帖子一会儿就结!这里又有一个新问题。
    前提:ACCESS数据库中数值型字段填充到EXCEL时!
       
         填充到excelXP后中就会出现错误(就是表格中出现一个‘ !’,程序照样可以运行);然后在delphi程序中加了一句 
        “v.ErrorCheckingOptions.NumberAsText:=False;” 
                //v为v:=createoleobject('Excel.Application');
                //excelXP系统不会自动检测NumberAsText的错误!    但是把程序放在excel2000系统中运行时,又出现“Method 'errorcheckingoptions'not supported by automation object.”(excel2000不支持自动检测错误)!把刚才加的那句程序删除掉有可以正常运行!问题是:excel2000以前的版本是不是都不支持自动检测错误?
            excel2002支持吗?
            这种问题怎么解决?
            delphi中如何获取excel的版本号?
      

  6.   

    如何获取“Method 'errorcheckingoptions'not supported by automation object.”这段信息!??也是可以解决问题!
      

  7.   

    出现这样的错误表示你通过ole传进去的参数不符合word的要求!所以就出现这个错误了!!