[C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样?

目录

  • [C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样?
    • 背景问题
    • 通过代码获取word中[选定内容]识别真相
      • 对于普通段落
        • word及程序运行结果
        • 断点识真相
      • 对于带有公式的段落
        • Word及程序运行结果
        • 断点识真相
    • 采用通用回车符是否对Word原文有影响?
      • 代码实现替换
      • 对于普通段落
        • word及程序运行结果
      • 对于带有公式的段落
        • Word及程序运行结果
      • 断点识真相
    • 最终结论
    • 美图分享

背景问题

word中段落回车符到底是什么?

  • 主要是在开发VSTO Word时,在Word中显示为换行的段落回车符。来到了C#中的一些From窗格控件中显示时(例如textbox),居然不显示为换行了。
  • 本来还以为被控件把段落回车符给阉割了,谁知道根本就不是这样。
  • 我们一起通过实验测试,一起把真相给揪出来吧!!!
  • 这样以后开发过程中,就又可以一起快乐地避坑了。

通过代码获取word中[选定内容]识别真相

public string Run_GetText(Word.Selection selection)
{string text = selection.Text;//去除表格中的制表符text = text.Replace("\a", "");//去除首尾空格和首尾回车符【\n】text = text.Trim();//将[选定内容]中间的段落回车符【\r】,替换成通用回车符。以便于textBox等控件能够识别的【Environment.NewLine】即【\r\n】text = text.Replace("\r", Environment.NewLine);return text;
}

对于普通段落

word及程序运行结果


断点识真相

代码运行中,通过断点可以看到。word默认的段落回车符是【\r】

对于带有公式的段落

Word及程序运行结果



断点识真相

代码运行中,通过断点可以看到。word中公式的组成中含有【\r】

采用通用回车符是否对Word原文有影响?

代码实现替换

通用回车符。以便于textBox等控件能够识别的【Environment.NewLine】即【\r\n】
就是说,得采用通用回车符,C#中的控件才能正确显示换行。

    //将[选定内容]中间的段落回车符【\r】,替换成通用回车符。以便于textBox等控件能够识别的【Environment.NewLine】即【\r\n】text = text.Replace("\r", Environment.NewLine);

对于普通段落

word及程序运行结果

对于带有公式的段落

Word及程序运行结果

对于公式,除了文本化后,不复原态外,结果和上面的一样

断点识真相

通过代码断点,可以看到粘贴到word中后,会被恢复成word默认段落回车符【\r】

最终结论

  • 哪怕替换成通用回车符
  • 粘贴到word中后,也会恢复成word默认段落回车符【\r】
  • 所以不用担心通用回车符不会与word中的段落符不兼容。

美图分享


[C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样?相关推荐

  1. Word 如何删除页面中的回车符 / 段落标记

    笔记本电脑在使用 Word 时,发现页面中的回车符无法去除,即使已经点击了选项卡中的回车符按钮 解决方案 最终效果: 现在页面中的回车符是否显示可通过选项卡中的回车符按钮操控了

  2. word2016能识别linux换行符,word文章中的换行符如何批量替换为回车符

    word文件中有换行符很正常,但是想要将换行符全部替换为回车符,该怎么替换?以下是学习啦小编为您带来的关于word文章中的换行符批量替换为回车符,希望对您有所帮助. word文章中的换行符批量替换为回 ...

  3. 怎样去掉word2007中的回车符?

    怎样去掉word2007中的回车符? 刚刚安装的office2007,在使用word时,那个段落标记总是去不掉,用"显示/隐藏段落标记"只能去掉用于标记空格的点点,就是去不掉回车符 ...

  4. 快速批量替换文档中的回车符与换行符,包括分节符、分页符的替换

    通常我们在使用WPS文字或者Word时,可能会因为复制而产生很多的回车符;或者从网页复制的文字粘入Word时候,会带来大量换行符.怎样能批量去掉这些个小符号呢,下面的方法马上告诉你!    WPS文字 ...

  5. python使用textwrap包在已经生成的长字符串中嵌入回车符实战

    python使用textwrap包在已经生成的长字符串中嵌入回车符实战 目录 python使用textwrap包在已经生成的长字符串中嵌入回车符实战 # textwrap包在长字符串中嵌入回车符 #实 ...

  6. java中‘\r‘回车符的使用

    回车符'\r'的使用--\r在java中是回车符的意思,将光标切换到当前行的开头 (1)回车符'\r'后面没有内容 System.out.println("abcdef\r"); ...

  7. 删除word中的回车符

    ^l为手动换行符,不是回车符,回车符是^p.如要把回车符全删除,那这个word内容可就是一大段啦. 1.若确定是全删除,ctrl+h,上面输入^p,下面啥都不输入,点全部替换: 2.若只想删除多余的空 ...

  8. Word文档 | 删除回车符

    在编写Word文档的封面或插入图片后带有回车符会影响文档的美观, Word文档可以设置不显示回车符, 操作步骤如下: 点击Word文档的[选项]. 在Word选项中选择[显示],取消[段落标记]后,点 ...

  9. Python控制Word文件中段落格式与文本格式

    封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ================ 本文主要介绍扩展库pyt ...

最新文章

  1. 【数字信号处理】相关函数 ( 卷积与交换性 | 相关函数不具有交换性 | 推导过程 )
  2. XML指南——XML 确认
  3. PHP各种实用的开源库推荐
  4. java基础知识一_Java基础知识(一)
  5. POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)
  6. 网格搜索支持向量机运行结束不了
  7. Sharding-JDBC水平分库(水平数据库分片测试)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记011
  8. 戴尔服务器安装centos7修改网卡名,Centos7.6修改网卡名称为之前的eth形式
  9. 一款非常好看的婚纱请柬设计英文字体
  10. 2019/10/8今日头条笔试
  11. contextual Attention
  12. 程序员的自我进化:共享经济新模式——共享员工
  13. 实现基于小米的电子商务平台架构
  14. 就是上来吐槽一下树莓派上,编译个模块都过不去的郁闷。 欢迎使用CSDN-markdown编辑器
  15. 揭秘:游戏开发的薪资情况和发展前景!
  16. 电子合同渐成主流,君子签以区块链技术打造合同签约新生态
  17. 电商app源码该如何布局流量模块(下)
  18. 设计模式之六大原则(实现部分)
  19. C 语言 —— % 运算符
  20. ETCP全国4000家停车场全部支持银联无感支付!

热门文章

  1. python统计小说人物_python统计喜欢的小说主角出场次数
  2. 一个小吃摊,一把萨克斯,一名六旬老人将自己的生活演绎得有声有趣。
  3. Excel技巧—Excel也能P图抠图
  4. C#爬虫 音娱吉他文本和弦谱
  5. TestFlight使用教程
  6. redis存10万条数据_redis如何存储数据
  7. 图片转成pdf格式怎么转?
  8. [S]O-10-2 青蛙跳台阶问题
  9. 如何让谷歌浏览器支持迅雷下载
  10. 机器学习和NLP面试总结