2013-10-24 30 views
0

我试图选择一行或多行,直到在文档开始处找到空白/空行,这将是title.Did使用宏记录器记录的宏使用selection.movedownunit.Not确定什么必须在这里使用,因为该行可能是一个或多个。WDLine,WDParagraph根据count参数进行选择(因为行数不是常量)。 没有使用VBNullString,^ P^P,(“\空白).empty而是抛出一个错误选择文本块直到空白行,Word VBA

生成的代码自动为:

Sub SelectTillBlankLine() 
    Selection.MoveDown Unit:=WDLine , Count:=4 , Extend:=wdExtend 
    Selection.Style = WDStyleTitle 

End Sub 

欣赏任何建议...

+0

您是否尝试过[这些](https://www.google.com/search?q=Word+vba+empty+line)?一旦找到下一个空行,您可以定义一个'Range'变量来保存当前选择直到最后一个非空行。然后选择'范围'。 –

+0

因为我使用屏幕阅读器(NVDA)访问网络,所以我无法接受或提出您的答案。我没有找到灰色的复选框。屏幕阅读器无法识别this.am试图... – Nandu

回答

2

在我认为最好的办法是在这种情况下使用.Find object与此代码尝试(以下检查一些评论):

Sub SelectTillBlankLine() 

    'as of current selection we search for anything with two consecutive paragraphs 
    'the second one is empty 
    Selection.Find.Execute "*^13^13", , , True 

    'some correction of range- remove last paragraph from selection 
    ActiveDocument.Range(Selection.Start, Selection.End - 1).Select 

    'the rest of your code 
    Selection.Style = WDStyleTitle 

End Sub 

尝试过的d为简单文件测试

+0

谢谢你。明白了。 – Nandu

+0

因为我使用屏幕阅读器(NVDA)访问网络,所以我无法接受或放弃您的答案。我没有找到灰色的复选框。屏幕阅读器无法识别this.am尝试... - – Nandu