用DELphi操作EXCEL.
如下程序段:
procedure TPrintExcel.CopyRange(
SourceRangeBegin,SourceRangeEnd,DestRangeBegin,DestRangeEnd:String);
var
EA:Variant;
SourceRange,DestRange: OleVariant;
begin
EA:=OleExcelApp.ActiveSheet;
SourceRange:=Ea.Range[SourceRangeBegin, SourceRangeEnd];
DestRange:=Ea.Range[DestRangeBegin, DestRangeEnd];
EA.Range[SourceRange].Copy(DestRange); //不能执行.
end;
改成:
先COPy到剪贴板,然后再复制到指定RANge的方法:
Copy(Range:String);
var
Ea:Variant;
begin
EA:=OleExcelApp.ActiveSheet;
EA.range[Range].copy(EmptyParam)
endPaster(range:String);
var
EA:Variant;
LCID : Integer;
begin
EA:=OleExcelApp.ActiveSheet;
EA.range(Range).select;
Ea.paste; //以上两句不行后改成:
Ea.range[range].PasteSpecial;//还是不行,再改成:
LCID := GetUserDefaultLCID();
EA.range[Range].select;
Ea.paste(emptyparam,EmpthParam,lcid);//还是不行.
end;
end;请问到底如何解决?在网上搜过不能解决.
如下程序段:
procedure TPrintExcel.CopyRange(
SourceRangeBegin,SourceRangeEnd,DestRangeBegin,DestRangeEnd:String);
var
EA:Variant;
SourceRange,DestRange: OleVariant;
begin
EA:=OleExcelApp.ActiveSheet;
SourceRange:=Ea.Range[SourceRangeBegin, SourceRangeEnd];
DestRange:=Ea.Range[DestRangeBegin, DestRangeEnd];
EA.Range[SourceRange].Copy(DestRange); //不能执行.
end;
改成:
先COPy到剪贴板,然后再复制到指定RANge的方法:
Copy(Range:String);
var
Ea:Variant;
begin
EA:=OleExcelApp.ActiveSheet;
EA.range[Range].copy(EmptyParam)
endPaster(range:String);
var
EA:Variant;
LCID : Integer;
begin
EA:=OleExcelApp.ActiveSheet;
EA.range(Range).select;
Ea.paste; //以上两句不行后改成:
Ea.range[range].PasteSpecial;//还是不行,再改成:
LCID := GetUserDefaultLCID();
EA.range[Range].select;
Ea.paste(emptyparam,EmpthParam,lcid);//还是不行.
end;
end;请问到底如何解决?在网上搜过不能解决.
SourceRange 直接指定range 有沒有試下??
這個代碼又如何??
ExcelApplication1.ActiveSheet.Used.Range.Copy;b.拷贝指定区域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
Selection.Copy
Range("C6").Select
ActiveSheet.Paste