在VBA Word中,如何检查段落是否包含任何粗体?

时间:2017-09-20 15:55:45

标签: word-vba

我一直在教自己在工作中使用宏和VBA。我没有代码意识,所以请耐心等待。

我需要能够找到完全大胆的段落(例如小标题),但我一直在努力弄明白或在网上找到任何帮助。我已经看到了类似的问题,但是尽管我试图使用看似相关的部分,但我的回答太复杂了,无法真正了解我复制的内容。

我的最终目标是在找到一个完全粗体的段落后,立即删除它后面的字符(通常是空行)。

我确实找到了一些建议0表示正常,-1表示完全粗体,9999999表示部分粗体,但是我无法得到任何类似的工作,因为我无法说出代码是什么与我有关。我非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

在您努力的这个阶段可以提供的帮助并不仅仅是向您展示如何帮助自己。

编程的红线应该是在文档中找到粗体文本并确定它是否是整段。如果它然后删除它后面的空白行(然后继续搜索下一个这样的段落?),如果不是,则什么都不做(并继续搜索下一个粗体文本?)。

这个计划的核心是VBA的Find方法。您可以在MSDN上查找和/或在使用宏录制器录制击键时手动进行搜索。这些方式中的任何一种都会非常混乱,也许后者比前者更多,尽管它有望成为达到目标的更短途径。实际上,很大程度上取决于您如何定义目标。如果您想学习VBA,您遇到的问题将是您可以掌握的挑战。其他人在你面前做过。

答案 1 :(得分:0)

我更喜欢你首先考虑的方法。创建一个Word文件,并确保某些文本是粗体而某些文本不是。突出显示一些纯文本或一些粗体文本,或包含普通和粗体的范围,并运行以下例程。

$time->format(DateTime::ISO8601);

当您掌握了这一点时,请学习(或再次询问)一些以编程方式选择文本的方法(使用.Select方法),并且您将拥有所需的一切。 (例如,正如其他人所建议的那样,您将能够使用任何复杂的条件执行.Find,并结合.Select,然后调用WhatTheHeck())。

注意:值得一提的是,VBA中的许多true / false属性可以是true,false或wdUndefined,也可能是其他值。一般来说,wdUndefined意味着“真假”的组合。我知道Selection.Font.Hidden属性也可以是wdUndefined,意思是两者的组合。