VC 操作Excel sheet复制、重命名

	CApplication ExcelApp;
	CWorkbooks books;
	CWorkbook book;
	CWorksheets sheets;
	CWorksheet sheet;
	CRange range;
	LPDISPATCH lpDisp = NULL;
	LPDISPATCH lpDisp1 = NULL;
	//创建Excel 服务器(启动Excel)
	if(!ExcelApp.CreateDispatch(_T("Excel.Application"),NULL))
	{
		AfxMessageBox(_T("启动Excel服务器失败!"));
		return ;
	}

	ExcelApp.put_Visible(TRUE);
	ExcelApp.put_UserControl(FALSE);

	/*得到工作簿容器*/
	books.AttachDispatch(ExcelApp.get_Workbooks());


	CString strBookPath = _T("E:\\测试.xls");

		try
	{
		/*打开一个工作簿*/
		lpDisp = books.Open(strBookPath, 
			vtMissing, vtMissing, vtMissing, vtMissing, vtMissing,
			vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, 
			vtMissing, vtMissing, vtMissing, vtMissing);
		book.AttachDispatch(lpDisp);
	}
	catch(...){}
	/*得到工作簿中的Sheet的容器*/
	sheets.AttachDispatch(book.get_Sheets());
	CString strSheetName;
	strSheetName = _T("XXXX表");
	lpDisp = sheets.get_Item(_variant_t((long)7));
	sheet.AttachDispatch(lpDisp);

	sheet.Copy(vtMissing,_variant_t(sheet));
	//lpDisp = sheets.get_Item(_variant_t("XXXX表(2)"));
	//sheet.AttachDispatch(lpDisp);
	//sheet.put_Name(_T("改名表"));

	/*sheets.*/
	sheet.ReleaseDispatch();
	sheets.ReleaseDispatch();
	book.ReleaseDispatch();
	books.ReleaseDispatch();
	ExcelApp.Quit();
	ExcelApp.ReleaseDispatch();