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);
}