急!!!VC6.0操作Excel2003?
void CTestExcelDlg::OnButton1() { // TODO: Add your control notification handler code here _Application app; Workbooks books; _Workbook book; Worksheets sheets; _Worksheet sheet; Range range; Font font; Range cols; COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); if( !app.CreateDispatch("Excel.Application") ){ this->MessageBox("无法创建Excel应用!"); return; } books=app.GetWorkbooks(); book=books.Add(covOptional); sheets=book.GetSheets(); sheet=sheets.GetItem(COleVariant((short)1)); range=sheet.GetRange(COleVariant("A1"),COleVariant("A1")); for (int i=1;i<5;i++) { for (int j=1;j<5;j++) { range.SetItem(_variant_t((long)i),_variant_t((long)j),_variant_t("test")); } } cols=range.GetEntireColumn(); cols.AutoFit(); app.SetVisible(TRUE); app.SetUserControl(TRUE);}OOL CExcelEx::SetActiveSheet(long nIndex){ if (!IsOpen()) { return FALSE; } if (m_pWorksheet->m_lpDispatch != NULL) { if (m_pWorksheet->GetIndex() == nIndex) { return TRUE; } else { m_pWorksheet->ReleaseDispatch(); } } Worksheets worksheets = m_pWorkbook->GetWorksheets(); m_pWorksheet->AttachDispatch(worksheets.GetItem(_variant_t(nIndex))); if (m_pWorksheet->m_lpDispatch != NULL) { m_pWorksheet->Activate(); } return (m_pWorksheet->m_lpDispatch != NULL);}
[解决办法]
wssSheets = wbBook.GetWorksheets();
wsSheet = wssSheets.GetItem(_variant_t("Sheet1")); // Get Sheet1
ExcelApp.SetVisible(FALSE); // 隐藏 //wsSheet.SetName( "Your Sheet" ); // 改名
ExcelApp.SetDisplayAlerts(false);
rngXls = wsSheet.GetCells();
rngXls.AutoFit();