?? hello.cpp
字號:
// Hello.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "Hello.h"
#include "excel.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
EXCEL2003::_Application m_oleExceApp;
EXCEL2003::Workbooks m_oleBooks;
EXCEL2003::_Workbook m_oleBook;
EXCEL2003::_Worksheet m_oleSheet;
EXCEL2003::Range m_oleRange;
CoInitialize(NULL);
CLSID clsid;
HRESULT hr = CLSIDFromProgID(L"Excel.Application", &clsid);
if(FAILED(hr))
{
::MessageBox(NULL, "請確認系統(tǒng)是否安裝了EXCEL!", "錯誤", 0x10010);
CoUninitialize();
return nRetCode;
}
IDispatch *pXlApp = NULL;
hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch, (void **)&pXlApp);
if(FAILED(hr) || !pXlApp)
{
CoUninitialize();
return nRetCode;
}
m_oleExceApp.DetachDispatch();
m_oleExceApp.AttachDispatch(pXlApp,FALSE);
// Make it visible (i.e. app.visible = 1)
{
m_oleExceApp.SetVisible(FALSE);
}
// Get Workbooks collection
IDispatch *pXlBooks = NULL;
{
pXlBooks = m_oleExceApp.GetWorkbooks();
m_oleBooks.DetachDispatch();
m_oleBooks.AttachDispatch(pXlBooks,FALSE);
}
// Call Workbooks.Add() to get a new workbook...
IDispatch *pXlBook = NULL;
VARIANT avr;
avr.vt = VT_NULL;
avr.pvarVal = NULL;
pXlBook = m_oleBooks.Add(avr);
if(!pXlBook)
{
CoUninitialize();
return nRetCode;
}
m_oleBook.DetachDispatch();
m_oleBook.AttachDispatch(pXlBook,FALSE);
// Get ActiveSheet object
IDispatch *pXlSheet = NULL;
{
pXlSheet = m_oleExceApp.GetActiveSheet();
m_oleSheet.DetachDispatch();
m_oleSheet.AttachDispatch(pXlSheet,FALSE);
}
char szRange[64] = "";
IDispatch *pXlRange = NULL;
sprintf(szRange,"A%d",1);
pXlRange = m_oleSheet.GetRange(COleVariant(szRange),COleVariant(szRange));
if(!pXlRange)
{
return nRetCode;
}
m_oleRange.DetachDispatch();
m_oleRange.AttachDispatch(pXlRange,FALSE);
CString str = " HELLO WORD!";
COleVariant vResult(str);
m_oleRange.SetValue2(vResult);
char szPath[_MAX_PATH] = "";
::GetModuleFileName(NULL,szPath,_MAX_PATH);
CString strPath = szPath;
strPath.Delete(strPath.ReverseFind('\\'),strPath.GetLength()-strPath.ReverseFind('\\'));
strPath += "\\test.xls";
m_oleSheet.SaveAs(strPath.GetBuffer(0),avr,avr,avr,avr,avr,avr,avr,avr,avr);
pXlRange->Release();
pXlSheet->Release();
pXlBook->Release();
pXlBooks->Release();
pXlApp->Release();
CoUninitialize();
}
return nRetCode;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -