我用vc写了一个com组件通过AddOLEObject方法在EXCEL里嵌入了一个ATL控件,请问各位大侠,我怎么才能获得控件的指针. 通过OLEFormat的GetObject();获取的指针是空的,我怎么才能获取正确的值呢?
OLEFormatPtr olefmt = g_spShape->GetOLEFormat();
olefmt->Activate();
IDispatch *pDisp = olefmt->GetObject();
CComQIPtr <ISeal> spSeal(pDisp);
if (spSeal)
{
::MessageBox(NULL, _T("NOT NULL"), _T(""), MB_OK);
}
else
{
::MessageBox(NULL, _T("NULL"), _T(""), MB_OK);
}输出一直为NULL
我该怎么办呢 ?麻烦各位大侠们赐教啊!
OLEFormatPtr olefmt = g_spShape->GetOLEFormat();
olefmt->Activate();
IDispatch *pDisp = olefmt->GetObject();
CComQIPtr <ISeal> spSeal(pDisp);
if (spSeal)
{
::MessageBox(NULL, _T("NOT NULL"), _T(""), MB_OK);
}
else
{
::MessageBox(NULL, _T("NULL"), _T(""), MB_OK);
}输出一直为NULL
我该怎么办呢 ?麻烦各位大侠们赐教啊!
main()
{int i;
char c;
i='a';
c=97;
printf("%c,%d\n",c,c)}
这个程序如何在C语言中去写去运行!
Set wordObj = Worksheets("Sheet1").OLEObjects(1)
wordObj.Activate
With wordObj.Object.Application.WordBasic
.StartOfDocument
.Insert "This is the beginning"
.InsertPara
End With
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IDispatch *pDisp = spWorkSheet->OLEObjects(_variant_t(long(1)));
if (NULL == pDisp)
{
::MessageBox(NULL, _T("IDispatch NULL"), _T(""), MB_OK);
} CComQIPtr <ISeal> spSeal(pDisp);这里直接抛异常
if (spSeal)
{
::MessageBox(NULL, _T("NOT NULL"), _T(""), MB_OK);
}
else
{
::MessageBox(NULL, _T("NULL"), _T(""), MB_OK);
}
如能提供示例将不胜感激