Re: [問題] 終止處理程序中的Excel.exe

看板C_and_CPP (C/C++)作者 (藍影)時間15年前 (2010/12/09 00:02), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串4/5 (看更多)
※ 引述《hyc325 (SONY VAIO-FE25TP)》之銘言: : 我所使用的新增sheet方式是以下方法: : 宣告省略...... : sheet=sheets.GetItem(COleVariant((short)(3))); : sheet.Activate(); : COleVariant vBefore,vAfter,vCount,vType; : //Default : vBefore.vt=VT_ERROR; : vBefore.scode=DISP_E_PARAMNOTFOUND; : //Insert next to active sheet : vAfter.vt=VT_DISPATCH; : vAfter.pdispVal=book.GetActiveSheet(); : //Insert 1 sheet : vCount.vt=VT_I2; : vCount.iVal=1; : //Insert a Worksheet object : vType.vt=VT_I2; : vType.iVal=-4167; // xlWorksheet : sheets.Add(vBefore,vAfter,vCount,vType); 我截取出我包出來的 class CExcel 一段 private: _Application objApp; Workbooks objBooks; _Workbook objBook; Worksheets objSheets; _Worksheet objSheet; //===================================================================================== // 插入第 nIndex 個 Sheet //===================================================================================== BOOL CExcel::InsertSheet(long nIndex, CString SheetName) { if(nIndex <=0 || nIndex > objSheets.GetCount()) return FALSE; objSheet = objSheets.GetItem(COleVariant(nIndex)); objSheet.Activate(); objSheets.Add(VOptional,VOptional,VOptional,VOptional); objSheet = objSheets.GetItem(COleVariant(nIndex)); objSheet.SetName(SheetName); return TRUE; } -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

12/09 00:19, , 1F
話說我看你第二次發這主題了,你excel打算寫到多強大?
12/09 00:19, 1F

12/09 00:20, , 2F
如果要很複雜功能的話,有考慮要轉VBA嗎?
12/09 00:20, 2F

12/09 01:03, , 3F
我應該要學起來, 要不然都偷懶用BCB連excel XD
12/09 01:03, 3F

12/09 01:04, , 4F
習慣用C來處理事情的話, 還是比VBA順手得多.
12/09 01:04, 4F

12/09 01:30, , 5F
事實上BCB連excel的確比VC方便許多。
12/09 01:30, 5F
文章代碼(AID): #1C_wlu9Q (C_and_CPP)
文章代碼(AID): #1C_wlu9Q (C_and_CPP)