怎样在打开一个excel 文件后,复制其中一个sheet ,并添加 n 个同样的 sheet ?我已查过大富翁,没找到我想要得(200分)

  • 主题发起人 主题发起人 夜鹰
  • 开始时间 开始时间

夜鹰

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在打开一个excel 文件后,复制其中一个sheet ,并添加 n 个同样的 sheet ?我已查过大富翁,没找到我想要得
 
在说详细点行吗?
 
procedure TForm1.Button2Click(Sender: TObject);
var
FileName : olevariant;
ExcelApp : TExcelApplication;
CopyBook : _WorkBook;
CopySheet : _WorkSheet;
I,AddCount : Integer;
begin
FileName := 'F:/Programs/Test/word/Book1.xls';
AddCount := 10;
ExcelApp := TExcelApplication.Create(Self);
try
try
ExcelApp.Visible[0] := False;
ExcelApp.Connect ;
ExcelApp.Workbooks.Open(FileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
CopyBook := ExcelApp.Workbooks.Item[1];
CopySheet := ExcelApp.Worksheets.Item[1] as _WorkSheet;//复制第一个Sheet
for I := 1 to AddCountdo
CopySheet.Copy(EmptyParam,CopyBook.ActiveSheet,0);
CopyBook.Save(1);
ExcelApp.Disconnect ;
ExcelApp.Quit;
except
MessageBox(Handle,'无法启动EXCEL程序来转换文件!','提示',MB_OK or MB_ICONINFORMATION);
end;
finally
ExcelApp.Free ;
end;
 
to realLearning:
我是在asp环境中做的,代码如下:
set objExcel = CreateObject("Excel.Application") '建立Excel.Application对象
set objBooks = CreateObject("Excel.WorkBooks")
objExcel.Visible = false '使服务端不出现Excel窗口
objBooks = objExcel.Workbooks.Open(server.mappath("/model.xls")) '打开Excel模板
'-----------------------------------------------------------------------------'
objExcel.Sheets.Add(3)
'-----------------------------------------------------------------------------'
objExcel.ActiveWorkbook.saveas server.mappath("/exceltmp/11.xls")
objExcel.quit
set objExcel=Nothing
但是不成功,只能单个的加
objExcel.Sheets.Add ,并且不能复制Sheets
 
先要选择一个Sheet进行复制
SelectSHeet.Copy(EmptyParam,CopyBook.ActiveSheet,0);
你是否没有选择要复制的Sheet
 
to realLearning:
objExcel.Sheets(1).select '选中工作页
set atvSheet = objExcel.ActiveWorkbook.ActiveSheet '设置活动表
atvSheet.Copy EmptyParam,objExcel.ActiveWorkbook.ActiveSheet,3

还是不行
 
多人接受答案了。
 
后退
顶部