www.pudn.com > Excel_example.rar > Excel2000Addin.cpp


///////////////////////////////////////////////////////////////////////////// 
// 类名:CExcel2000Addin 
// 功能:Excel20002K/XP中插件开发 
// 说明:提供五个导入类型库接口涵数(_IDTExtensibility2接口下): 
//       OnConnection()用来装缷插件处理; 
//		 OnDisconnection()用来缷载插件处理; 
//		 OnAddInsUpdate()插件更新时处理; 
//       OnStartupComplete()程序启动结束时处理 
//		 OnBeginShutdown()程序开始关闭时处理 
// 
// 编写:徐景周(jingzhou_xu@163.net) 
// 组织:未来工作室(Future Studio) 
// 日期:2003.4.10 
///////////////////////////////////////////////////////////////////////////// 
#include "stdafx.h" 
#include "ExcelAddin.h" 
#include "Excel2000Addin.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// CExcel2000Addin 
 
STDMETHODIMP CExcel2000Addin::InterfaceSupportsErrorInfo(REFIID riid) 
{ 
	static const IID* arr[] =  
	{ 
		&IID_IExcel2000Addin 
	}; 
	for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++) 
	{ 
		if (InlineIsEqualGUID(*arr[i],riid)) 
			return S_OK; 
	} 
	return S_FALSE; 
} 
 
// 按钮事件响应信息定义 
_ATL_FUNC_INFO OnClickButtonInfo = {CC_STDCALL,VT_EMPTY,2,{VT_DISPATCH,VT_BYREF | VT_BOOL}}; 
 
// 工具条按钮1点击事件响应涵数 
void __stdcall CExcel2000Addin::OnClickButton1(IDispatch* /*Office::_CommandBarButton* */ Ctrl,VARIANT_BOOL * CancelDefault) 
{ 
	USES_CONVERSION; 
	CComQIPtr pCommandBarButton(Ctrl); 
		 
	HINSTANCE result=ShellExecute(NULL, _T("open"), _T("http://www.vckbase.com"), NULL,NULL, SW_SHOW); 
}