环境:xp sp3,vs2008,wps2012,word2010

如果直接设置Range对象的Start或End属性可能会报异常,所以使用SetRange方法或者让Start小于等于Range的End值

word2010直接设置Start的值超过End不会报出异常,但是会将End=Start

void Ctest09242Dlg::OnBnClickedOk()
{// TODO: 在此添加控件通知处理程序代码::CoInitialize(NULL);//OnOK();WPS::_ApplicationPtr g_app;CLSID clsid;HRESULT hr;hr=::CLSIDFromProgID(L"WPS.Application",&clsid);    //通过ProgID取得CLSIDtry{g_app.CreateInstance(__uuidof(WPS::Application )) ;}catch (...){AfxMessageBox("啊呀不是没装wps吧?");return;}WPS::DocumentsPtr docs =g_app->GetDocuments();//内容:abcdefghijklmnCString sWord="e:\\1011.doc";WPS::_DocumentPtr p_doc;_bstr_t sNull;try{p_doc = docs->Open(_bstr_t(sWord),VARIANT_FALSE,            // 确认转换VARIANT_TRUE,            // 只读VARIANT_FALSE,            // 添加到最近文件中sNull,                    // 文档口令.sNull,                    // 模板口令.VARIANT_FALSE,            // 恢复原状.sNull,                    // 写文档口令.sNull,                    // 写模板口令.0,                        // 格式.KSO::ksoEncodingAutoDetect,   // 编码VARIANT_TRUE,            // 可见VARIANT_FALSE,            // 打开并修复0,                        // DocumentDirection wdDocumentDirection LeftToRightVARIANT_FALSE            // 无编码对话框);}catch(_com_error){g_app->Quit(&vtMissing,&vtMissing,&vtMissing);return ;}g_app->put_Visible(VARIANT_TRUE);WPS::SelectionPtr p_sel = p_doc->Get_Selection();WPS::FindPtr p_fid = p_sel->GetFind();CString sField = "cde";_variant_t FindText=(LPCTSTR)sField;_variant_t ReplaceWith=vtMissing ;_variant_t Forward=VARIANT_TRUE;_variant_t Wrap=(_variant_t)(WPS::wpsFindContinue);_variant_t Format=VARIANT_FALSE;_variant_t MatchCase=VARIANT_FALSE;_variant_t MatchWholeWord=VARIANT_FALSE;_variant_t MatchWildcards=VARIANT_FALSE;_variant_t MatchSoundsLike=VARIANT_FALSE;_variant_t MatchAllWordForms=VARIANT_FALSE;VARIANT_BOOL bExec =  p_fid->Execute(&FindText, &MatchCase, &MatchWholeWord, &MatchWildcards, &MatchSoundsLike,&MatchAllWordForms, &Forward, &Wrap, &Format, &ReplaceWith,&vtMissing);WPS::RangePtr lprage = p_sel->GetRange();long ns = lprage->Start; //2long ne = lprage->End;       //5CString str = lprage->GetText();try{//lprage->Start = 6; //异常//lprage->End = 1;      //异常lprage->SetRange(6,7);   //正确}catch (_com_error& e){CString ErrorStr;ErrorStr.Format( "Code = %08lx\n\tCode meaning = %s\n\tSource = %s\n\tDescription = %s\n",e.Error(), e.ErrorMessage(), (LPCSTR)(_bstr_t)e.Source(), (LPCSTR)(_bstr_t)(e.Description()));}long ns1 = lprage->Start;long ne1 = lprage->End;str = (CString)(LPCSTR)lprage->GetText();WPS::RangePtr lprage2 = p_sel->GetRange();long ns2 = lprage2->Start;long ne2 = lprage2->End;
}

wps的range对象相关推荐

  1. python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....

    Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...

  2. JS Range 对象的使用

    一:什么是Range对象 Range是指html文档中的区域,如用户用鼠标拖动选中的区域,如下图: 通过Range对象,可以获取用户选中的区域,或者指定选中区域,得到Range的起点和终点.修改或者复 ...

  3. web前端学习(二)html学习笔记部分(3)--range对象

    1.2.8  html5编辑api之range对象(一) 1.2.8.1  Range 对象基本概念 Range 对象的基本概念,通过使用 Range 对象所提供的方法实现一个鼠标选取内容,通过点击按 ...

  4. Python中range对象的使用以及打印九九乘法表

    range对象 range 对象是一个迭代器对象,用来产生指定范围的数字序列.格式为: range(start, end [,step]) 生成的数值序列从start 开始到end 结束(不包含end ...

  5. python遍历循环中的遍历结构可以是什么_(一)Python入门-4控制语句:06for循环结构-遍历各种可迭代对象-range对象...

    一:for循环和可迭代对象遍历 for 循环通常用于可迭代对象的遍历.for 循环的语法格式如下: for 变量 in 可迭代对象: 循环体语句 可迭代对象: Python包含以下几种可迭代对象: 1 ...

  6. python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...

    [简答题]实例1:求两数相除的结果. 先后输入2个数据,计算第一个数除以第二个数的结果. 要求能够处理输入数据为非数字.除数为零.文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等 ...

  7. 属性值动态调整_【VBA】Range对象的常用方法属性(三)

    本文继续上一节的Range对象的方法和属性的讲解.上一讲讲到了End属性寻找最后一个已经使用的单元格.这一节继续讲解关于动态找单元格区域方面的属性. Offset 偏移 相信学过OFFSET工作表函数 ...

  8. javascript range 转为 html,javascript Range对象跨浏览器常用操作

    开发的功能主要涉及即时代码着色(CodeColoring)和语法提示(CodeHints)功能,稍后会总结功能开发中问题或提供源码. 以下是个人对Range对象的了解和常用操作的实例和总结: Rang ...

  9. [python 笔记]:序列详解:字符串,列表,元组,range对象

    目录 序列: 1.索引: 2.标准类型运算: (1)值比较: (2)对象身份比较:is / is not (3)布尔逻辑运算 3.通用序列类型操作: (1)切片: (2)重复(*): (3)连接(+) ...

  10. for循环 | range 对象

    # ### for循环 # 循环 遍历 迭代 # 把列表的元素一一的拿出来遍历 listvar = ["黄雄大","黄文","黄仪正",&q ...

最新文章

  1. R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优
  2. python中yield函数的作用?
  3. oracle基础琐碎总结-----Where和Having的区别与联系
  4. 【网上收藏】取得网卡mac
  5. 笔记本电脑如何保养_嘉兴专业笔记本电脑喷漆加工厂价格实惠
  6. mysql group 条件_mysql 的group by 满足的规则要求:
  7. QAQ的幸运数字 数学
  8. 防抖 节流_【前端面试】节流与防抖
  9. 【数据结构】trie树
  10. 调用百度音频,文字转音频
  11. 终于,腾讯也要造车了
  12. SKlearn——逻辑斯蒂回归(LR)参数设置
  13. Office Web Apps开放测试
  14. BZOJ 1013: [JSOI2008]球形空间产生器sphere
  15. 《大道至简》第一章,伪代码。
  16. Django 搭建知乎热榜 API
  17. 产品经理必懂的28个心理学效应
  18. 重新编译使用CMake的旧项目的问题处理
  19. 2022电大国家开放大学网上形考任务-农业微生物学非免费(非答案)
  20. 计算机如何连接隐藏的无线网络,笔记本电脑怎么连接隐藏的无线网wifi

热门文章

  1. matlab函数imhist执行错误可能因为图像不是灰度的
  2. C# 监控字段_资产运营专业线升级公告(资源、物业、运维监控)
  3. Android 性能优化 (十一) 电量优化全解析 秒变大神
  4. 时空行为检测数据集 JHMDB UCF101_24 详解
  5. textView属性
  6. Python使用打码平台进行识别验证码
  7. 红外避障小车的代码编写
  8. Excel VBA VBA去重复的几种方法
  9. vep格式用什么播放器linux,vep格式视频用什么播放器打开
  10. SVN 小乌龟(TortoiseSVN)本地文件更新报错Another process is blocking the working copy database 解决方法