怎么对TextBox 设置文字

如何对TextBox 设置文字
目的     在EXCEL中画一个文字框   并设置文字
问题     如何对TextBox   设置文字

代码
Shapes   shape=wsMysheet.GetShapes();
TextBox   box=shape.AddTextbox(1,left_,36,width_,18);     //画一个文字框   OK
LPCTSTR   m_text=(LPCTSTR)pState-> GetName().c_str();       //定义文字     OK

box.SetText(m_text);               //     退出程序   ????

也试过box.SetCaption,结果一样.


函数原形
void   TextBox::SetText(LPCTSTR   lpszNewValue)
{
static   BYTE   parms[]   =
VTS_BSTR;
InvokeHelper(0x8a,   DISPATCH_PROPERTYPUT,   VT_EMPTY,   NULL,   parms,
  lpszNewValue);
}

------解决方案--------------------
box.SetText(m_text); 执行了这句后程序就退出?那先检查m_text里的内容是否正确?
------解决方案--------------------
void TextBox::SetText(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x8a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
_bstr_t(lpszNewValue));
}

------解决方案--------------------
lpDisp=ShapeRect-> AddShape(1,left,top,width,height)
ASSERT(lpDisp);
SelectShape.AttachDispatch(lpDisp);
strTextFrame=SelectShape.GetTextFrame();
characters.SetText( "文字 ");
------解决方案--------------------
-_-!這裡也做廣告??

接上述代碼!!
strTextFrame.SetHorizontalAlignment(-4108);
strTextFrame.SetVerticalAlignment(--4108);

characters.DetachDispatch();
strTextFrame.DetachDispatch();
SelectShape.DetachDispatch();
------解决方案--------------------
VARIANT varStart,varLength;
VariantInit(&varStart); //
VariantInit(&varLength);
varStart.vt = VT_I4; //
varLength.vt = VT_I4;
varStart.lVal = 1;
varLength.lVal= 500;

characters.AttachDispatch(strTextFrame.Characters(varStart,varLength)); //add