高分相送 Word自动化中如何使用书签(Bookmark)
Word自动化中如何使用书签,即找到指定书签,并插入字符串;添加书签;删除书签等;
我自己整了一个函数,TestBookmark(CString strBookmark);strBookmark为传入的书签字符串,想实现在书签位置插入字符串“插在书签后面”,结果总是不成功,求各位大虾帮忙。
提供源代码者给更多的分,我的邮箱是:for_interest@21cn.com
以下是我的代码:
// 在指定书签位置插入字符串
void CAdviceDoc::TestBookmark(CString strBookmark)
{
IDispatch *pBookmark;
VARIANT result;
VariantInit(&result);
VARIANT BookMark;
VariantInit(&BookMark);
BookMark.vt = VT_BSTR;
BookMark.bstrVal = _bstr_t(strBookmark);
AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &result, pActiveDocument, L"Bookmarks", 1, BookMark);
pBookmarks = result.pdispVal;
AutoWrap(DISPATCH_METHOD, &result, pBookmarks, L"Select", 0);
pBookmark = result.pdispVal;
IDispatch *pRange;
{
VARIANT result;
VariantInit(&result);
AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &result, pBookmark, L"Range", 0);
pRange = result.pdispVal;
}
VARIANT param;
param.vt = VT_BSTR;
param.bstrVal = _bstr_t(L"插在书签后面");
AutoWrap(DISPATCH_METHOD, NULL, pRange, L"InsertAfter", 1, param);
}