delphi操作excel 中,如何在同一工作薄中,如何用指令把一个工作表复制拷贝成同一工作薄中另外一个工作表.

时间:2021-07-10 09:30:00
delphi操作excel 中,如何在同一工作薄中,如何用指令把一个工作表复制拷贝成同一工作薄中另外一个工作表.
搞了半天,不知如何写。
为何用ExcelApp.ActiveSheet.Used.Range.Copy; 提示‘method’used not supported by automation object .

5 个解决方案

#1


问题已解决,看来主要还是自己想,网上一大堆贴,都是你抄我的,我抄的,抄来抄去,有的自己都根本没有用过,更谈不上测试就直接把别人的贴子贴上的。

#2


呵呵,这么多内容,谁能一个一个测试。
你的应该是改成ExcelApp.ActiveSheet.UsedRange.Copy解决的吧?

#3


楼上的答不正确。

#4


引用 1 楼 microd 的回复:
问题已解决,看来主要还是自己想,网上一大堆贴,都是你抄我的,我抄的,抄来抄去,有的自己都根本没有用过,更谈不上测试就直接把别人的贴子贴上的。


是啊,很多人都是熟练使用搜索引擎,一般都是直接把楼主的问题复制到google或baidu,然后再把找到的近似答案的链接复制过来就回复了。根本不管是否适合楼主的问题,也根本不管帖子的代码是否正确。

uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
    v, vSheet: Variant;
begin
    v := CreateOleObject('Excel.Application');
    v.Visible := true;
    v.Workbooks.Open('C:\ccrun\123.xls');

    // 复制第一个Sheet
    vSheet := v.ActiveWorkbook.Sheets[1];
    // 把Sheet1复制到第二个Sheet的后面
    vSheet.Copy(EmptyParam, v.ActiveWorkbook.Sheets[2]);
    // 再把Sheet1复制到第二个Sheet的前面
    vSheet.Copy(v.ActiveWorkbook.Sheets[2]);

    // 后结代码略
    // ...
    //
end;

#5


补充一下:在有些环境中,在复制前需要多加一句vSheet.Select;

另外,我在楼上说的情况,是指C++Builder版块,当然D版也有一些。

#1


问题已解决,看来主要还是自己想,网上一大堆贴,都是你抄我的,我抄的,抄来抄去,有的自己都根本没有用过,更谈不上测试就直接把别人的贴子贴上的。

#2


呵呵,这么多内容,谁能一个一个测试。
你的应该是改成ExcelApp.ActiveSheet.UsedRange.Copy解决的吧?

#3


楼上的答不正确。

#4


引用 1 楼 microd 的回复:
问题已解决,看来主要还是自己想,网上一大堆贴,都是你抄我的,我抄的,抄来抄去,有的自己都根本没有用过,更谈不上测试就直接把别人的贴子贴上的。


是啊,很多人都是熟练使用搜索引擎,一般都是直接把楼主的问题复制到google或baidu,然后再把找到的近似答案的链接复制过来就回复了。根本不管是否适合楼主的问题,也根本不管帖子的代码是否正确。

uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
    v, vSheet: Variant;
begin
    v := CreateOleObject('Excel.Application');
    v.Visible := true;
    v.Workbooks.Open('C:\ccrun\123.xls');

    // 复制第一个Sheet
    vSheet := v.ActiveWorkbook.Sheets[1];
    // 把Sheet1复制到第二个Sheet的后面
    vSheet.Copy(EmptyParam, v.ActiveWorkbook.Sheets[2]);
    // 再把Sheet1复制到第二个Sheet的前面
    vSheet.Copy(v.ActiveWorkbook.Sheets[2]);

    // 后结代码略
    // ...
    //
end;

#5


补充一下:在有些环境中,在复制前需要多加一句vSheet.Select;

另外,我在楼上说的情况,是指C++Builder版块,当然D版也有一些。