// DlgProxy.cpp : ±¸Çö ÆÄÀÏ // #include "stdafx.h" #include "ExcelMng.h" #include "DlgProxy.h" #include "ExcelMngDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CExcelMngDlgAutoProxy IMPLEMENT_DYNCREATE(CExcelMngDlgAutoProxy, CCmdTarget) CExcelMngDlgAutoProxy::CExcelMngDlgAutoProxy() { EnableAutomation(); // ÀÚµ¿È­ °³Ã¼°¡ Ȱ¼ºÈ­µÇ¾î ÀÖ´Â µ¿¾È ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °è¼Ó // ½ÇÇàµÇµµ·Ï Çϱâ À§ÇØ »ý¼ºÀÚ°¡ AfxOleLockApp¸¦ È£ÃâÇÕ´Ï´Ù. AfxOleLockApp(); // ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢ Æ÷ÀÎÅ͸¦ ÅëÇØ ´ëÈ­ »óÀÚ¿¡ ´ëÇÑ // ¾×¼¼½º¸¦ °¡Á®¿É´Ï´Ù. ÇÁ·Ï½ÃÀÇ ³»ºÎ Æ÷ÀÎÅ͸¦ ¼³Á¤ÇÏ¿© // ´ëÈ­ »óÀÚ¸¦ °¡¸®Å°°í ´ëÈ­ »óÀÚÀÇ ÈÄ¹æ Æ÷ÀÎÅ͸¦ ÀÌ ÇÁ·Ï½Ã·Î // ¼³Á¤ÇÕ´Ï´Ù. ASSERT_VALID(AfxGetApp()->m_pMainWnd); if (AfxGetApp()->m_pMainWnd) { ASSERT_KINDOF(CExcelMngDlg, AfxGetApp()->m_pMainWnd); if (AfxGetApp()->m_pMainWnd->IsKindOf(RUNTIME_CLASS(CExcelMngDlg))) { m_pDialog = reinterpret_cast(AfxGetApp()->m_pMainWnd); m_pDialog->m_pAutoProxy = this; } } } CExcelMngDlgAutoProxy::~CExcelMngDlgAutoProxy() { // ÀÚµ¿È­¸¦ »ç¿ëÇÏ¿© ¸ðµç °³Ã¼°¡ »ý¼ºµÇ¸é ÀÀ¿ë ÇÁ·Î±×·¥À» ³¡³»±â À§ÇØ // ¼Ò¸êÀÚ°¡ AfxOleUnlockApp¸¦ È£ÃâÇÕ´Ï´Ù. // ÀÌ·¯ÇÑ È£Ãâ·Î ÁÖ ´ëÈ­ »óÀÚ°¡ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù. if (m_pDialog != NULL) m_pDialog->m_pAutoProxy = NULL; AfxOleUnlockApp(); } void CExcelMngDlgAutoProxy::OnFinalRelease() { // ÀÚµ¿È­ °³Ã¼¿¡ ´ëÇÑ ¸¶Áö¸· ÂüÁ¶°¡ ÇØÁ¦µÇ¸é OnFinalRelease°¡ // È£ÃâµË´Ï´Ù. ±âº» Ŭ·¡½º´Â ÀÚµ¿À¸·Î °³Ã¼¸¦ »èÁ¦ÇÕ´Ï´Ù. // ±âº» Ŭ·¡½º¸¦ È£ÃâÇϱâ Àü¿¡ °³Ã¼¿¡ ÇÊ¿äÇÑ Ãß°¡ Á¤¸® ÀÛ¾÷À» // Ãß°¡ÇÕ´Ï´Ù. CCmdTarget::OnFinalRelease(); } BEGIN_MESSAGE_MAP(CExcelMngDlgAutoProxy, CCmdTarget) END_MESSAGE_MAP() BEGIN_DISPATCH_MAP(CExcelMngDlgAutoProxy, CCmdTarget) END_DISPATCH_MAP() // Âü°í: VBA¿¡¼­ÀÇ Çü½Ä ¾ÈÀü ¹ÙÀεùÀ» Áö¿øÇϱâ À§ÇØ IID_IExcelMng¿¡ ´ëÇÑ Áö¿øÀ» Ãß°¡Çß½À´Ï´Ù. // ÀÌ IID´Â .IDL ÆÄÀÏÀÇ dispinterface¿¡ ÷ºÎµÈ // GUID¿Í ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. // {21D7822A-499E-4B60-A62F-3544F7EA7193} static const IID IID_IExcelMng = { 0x21D7822A, 0x499E, 0x4B60, { 0xA6, 0x2F, 0x35, 0x44, 0xF7, 0xEA, 0x71, 0x93 } }; BEGIN_INTERFACE_MAP(CExcelMngDlgAutoProxy, CCmdTarget) INTERFACE_PART(CExcelMngDlgAutoProxy, IID_IExcelMng, Dispatch) END_INTERFACE_MAP() // IMPLEMENT_OLECREATE2 ¸ÅÅ©·Î°¡ ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ StdAfx.h¿¡ Á¤Àǵ˴ϴÙ. // {46143530-5B35-4D82-9408-915F03D607EC} IMPLEMENT_OLECREATE2(CExcelMngDlgAutoProxy, "ExcelMng.Application", 0x46143530, 0x5b35, 0x4d82, 0x94, 0x8, 0x91, 0x5f, 0x3, 0xd6, 0x7, 0xec) // CExcelMngDlgAutoProxy ¸Þ½ÃÁö 󸮱â