![]() |
Problem: How to copy excel sheet in C++
Hi, Anyone here know how to use the sheet-copy() function to copy the sheet in the same workbook using c++. I am writing a software in C++ to duplicate an active sheet in the same workbook. I know that in VBA script, the copy function like below: Worksheets("Sheet1").Copy After:=Worksheets("Sheet3") Anyone know what is the argument to fill in for the function copy? If I left the function copy with no argument below, it will copy the sheet and put it to a new workbook. My intent is to copy the sheet into new sheet within the same work book. I know how to get the sheet pointer for the last sheet, but this function cannot take the sheet pointer as the argument. The coding below is working fine if I remove the copy function. Anyone know how to do this? Below is some of my coding: Code: -------------------- #import "progid:Excel.Sheet" auto_search auto_rename rename_search_namespace("Office10") #include <direct.h //just to get the current path/directory int main() { using namespace Excel; _ApplicationPtr pXL; pXL.CreateInstance(L"Excel.Application"); pXL-Visible[0] = VARIANT_TRUE; // show the excel program WorkbooksPtr pBooks = pXL-Workbooks; _WorkbookPtr pBook = pBooks-Open("c:\\myfile2.xls"); _WorksheetPtr pSheet = pXL-ActiveSheet; SheetsPtr worksheets = pBook-Worksheets; _WorksheetPtr lastsheet = worksheets-Item[worksheets-Count]; // get the last sheets pSheet-Name = "sheetA"; RangePtr cell = pSheet-Cells; cell-Item[3][3] = "test"; //write "test" to cell C3 pSheet-Copy(); // how to fill in the argument? pBook-Saved[0] = VARIANT_TRUE; char buff[_MAX_PATH]; if (_getcwd(buff, _MAX_PATH) == NULL) { printf("Can't Get Current Directory - errno=%d\n", errno); Exit(-1); } sprintf(buff,"%s\\newfile.xls",buff); pBook-SaveCopyAs(buff,TRUE); pXL-Quit(); return 0; } -------------------- -- sgwong ------------------------------------------------------------------------ sgwong's Profile: http://www.excelforum.com/member.php...o&userid=27896 View this thread: http://www.excelforum.com/showthread...hreadid=474005 |
All times are GMT +1. The time now is 01:02 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com