为什么复制粘贴Range的代码在Excel中执行没有问题,在Delphi中出错?(50分)

J

jzx

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我的问题你也碰到过,请告诉我,谢谢
{Excel 中的代码}
ActiveWorkbook.Sheets(1).Rows(2).Insert '先插入一行
ActiveWorkbook.Sheets(1).Range("B1:D1").Copy '复制区域B1:D1
ActiveWorkbook.Sheets(1).Range("B2").PasteSpecial '粘贴到B2

{Delphi中的代码}
V := CreateOleObject('Excel.Application');
V.Workbooks.Open('C:/Book1.Xls', True);
{其中 book1.xls 的内容 A1:A9 合并单元格 B1:D1 有一些测试数据}
V.Workbooks[1].WorkSheets[1]Rows['2'].Insert;
V.Workbooks[1].WorkSheets[1].Range['B1:D1'].Copy;(*出错'找不到成员'*)
V.Workbooks[1].WorkSheets[1].Range['B2'].PasteSpecial;
 
怎么没人理??!!
是我的问题太难吗?
 
我好象以前也遇到过,
后来是这样处理的:
MsExcelWorkSheet.Range['B1:D1'].Select;
MsExcel.Selection.Copy;

Good luck
 
to carryon
试过了,不行,出现 'Selection' not supported by automation object错误
MsExcelWorkSheet 是Server页的Excelworksheet对象吗?
我用的是 ole automation
 
这面是从我的一个程序中copy过来的部分源码:

MsExcel:=CreateOleObject('Excel.Application');
MsExcelWorkBook:=MsExcel.WorkBooks.open(ExtractFilePath(application.ExeName)+'templates/rpt'+inttostr(pnumber)+'.xls');
MsExcelWorkSheet:=MsExcel.ActiveSheet;
......
MsExcelWorkSheet.range['7:7'].Select;
MsExcel.Selection.Copy;

环境D5+sp1,office97,win98
如果再不行,
那我也没办法了.
 
问题已经解决,多谢
 
接受答案了.
 
顶部