在WORD中替换字符解决方案

在WORD中替换字符
我的接口是这样写的 却没用停留Execute   感觉没走下去了  也没说失败
STDMETHODIMP CDsoFramerControl::insertReplaceText(BSTR strText,BSTR strReplaceText)
{
IDispatch * lDisp =  m_pDocDispatch;
if(!lDisp)
{
get_ActiveDocument(&lDisp);
}
if(!lDisp){
return S_OK;
}
HRESULT hr;
USES_CONVERSION;

  try{
switch(m_nOriginalFileType){
case FILE_TYPE_WORD:
{
CComQIPtr<MSWord::_Document> spDoc(lDisp);
//spDoc->Close();
if(!spDoc)
return S_OK;
MessageBox(0,"11","11",0);
CComPtr<MSWord::Range> spRange;
hr=spDoc->get_Content(&spRange);
if(FAILED(hr)||(!spRange)) return E_UNKNOW;
MessageBox(0,"22","22",0);
CComPtr<MSWord::Find> spFind;
//spRange->get_Find(&spFind);
spFind=spRange->GetFind();
if(FAILED(hr)||(!spFind)) return E_UNKNOW;
MessageBox(0,"33","33",0);
spFind->ClearFormatting();
MessageBox(0,"44","44",0);

short wdReplaceAll11=1; 
short wdFindAsk=2; 
short wdFindContinue=1; 
BOOL bF=false; 
BOOL bT=true; 
COleVariant vFalse((short)FALSE), vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 
MessageBox(0,"66","66",0);
hr=spFind->Execute(&COleVariant("女士"),vOpt,vOpt,vOpt,vOpt, 
vOpt,vOpt,vOpt,vOpt,&COleVariant("中国"), 
&COleVariant(wdReplaceAll11),vOpt,vOpt,vOpt,vOpt); 
if(FAILED(hr))
{
MessageBox(0,"failed","failed",0);
}
MessageBox(0,"77","77",0);
spDoc->Save(); 
}
break;
case FILE_TYPE_EXCEL:
{
CComQIPtr<MSExcel::_Workbook> spDoc(lDisp);
if(!spDoc)
break;
}
break;
case FILE_TYPE_PPT:
{
}
break;
case FILE_TYPE_PDF:
case FILE_TYPE_UNK:
default:
  break;
}
}catch(...){
}
return S_OK;
}
------解决方案--------------------
录制宏,再自己转换代码为C++可用的