好像是Excel的问题!我也遇到了类似的情况,可以换一种方式,不采用Range方法,看看可以不可以?

解决方案 »

  1.   

    with XL.Range['A1','C1'] do
    begin
      MergeCells := true;
      HorizontalAlignment := xlCenter;
    end; —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
    I.Desire := '加不加分随你';
    —————————————————————————————————
           
      

  2.   

    或者用宏取得的这句vba
        With ActiveSheet.PageSetup
            .CenterHeader = "&""仿宋_GB2312,加粗""&20hHE"
         end with
    在delphi中如何实现?
         XL.ActiveSheet.PageSetup.CenterHeader := '"&""仿宋_GB2312,加粗""&20hHE"';
    不对
      

  3.   

    try:
    exworksheet.rows.horizontalalignment:=3;水平居中
    exworksheet.rows.verticalalignment:=2;垂直居中
    exworksheet.columns.autofit;自适应宽度
      

  4.   

    试试:
    Myworkbook.worksheets[1].range['A1:D2'].HorizontalAlignment := $FFFFEFF4;Myworkbook.worksheets[1].RANGE['A3:A4'].MergeCells:=TRUE;
     wsheet.RANGE['A3:A4'].VerticalAlignment:=XLCENTER