当没有匹配的格式部分时,range.find方法不会返回任何内容
下面的function是作为文本,文本文件的一个粗体部分。 方块是作为范围传递给函数的。
Private Function GetFirstBoldPartofAPharagraph(rngPharagraph) As String With rngPharagraph.Find .ClearFormatting .Font.Bold = True .Execute Format:=True End With rngPharagraph.Select GetFirstBoldPartofAPharagraph = rngPharagraph.Text Set rng = Nothing End Function
这里的rngPharagraph
来自myRange
( lngPar
是一个word文档的数字)
Set myRange = objDoc.Paragraphs(lngPar).Range
此代码将在Excel工作表中执行。 问题是,如果有一个大胆的部分,它发现和rngPharagraph.Text
获取该部分; 但如果没有大胆的部分rngPharagraph.text
返回所有的方法,而不是返回nothing
。
使用Find
属性检查Find
对象结果:
Private Function GetFirstBoldPartofAPharagraph(rngPharagraph As Range) As String With rngPharagraph.Find .ClearFormatting .Font.Bold = True .Execute Format:=True End With If rngPharagraph.Find.Found Then rngPharagraph.Select GetFirstBoldPartofAPharagraph = rngPharagraph.Text End If End Function