单词vba selection.endkey扩展

时间:2016-10-07 20:30:21

标签: word-vba

我在使用Selection.EndKey延伸时遇到问题:= wdExtend。

Windows 7 64位,Office 2013,在我的“项目引用”对话框中选中了以下引用:

•Visual Basic对于应用程序 •Microsoft Word 15.0对象库 •OLE自动化 •正常  •Microsoft Office 15.0对象库

我打开一个由一段句子组成的Word文档(两端没有句号)。我的愿望是选择每个段落并用预定义表格中的条目替换它。

以下是原始代码:

For i = intFirstItemNo To intLastItemNo
  Selection.EndKey Extend:=wdExtend
  Selection.TypeText Text:=arlAdItem01(i)
  Selection.MoveRight unit:=wdCharacter, Count:=1
Next i

然后我发现偶尔会有一个比页面宽度更长的段落并包裹到下一个物理行。此时上面的代码截断了行末尾的段落(单位:= wdLine是默认值)。

经过多次实验,我发现只有枚举5 = wdLine& 6 = wdStory工作。 1到4(1 = wdCharacter,2 = wdWord,3 = wdSentence,4 = wdParagraph)产生旧的"运行时错误' 4120'"信息。

这是我想要使用的行:

Selection.EndKey Unit:=wdParagraph, Extend:=wdExtend

我的问题是,是否有人知道如何使代码按照它描述的方式在Office开发人员中心的Selection.EndKey方法(Word)条目中工作?

1 个答案:

答案 0 :(得分:1)

似乎是Word VBA中的一个错误。至少自2013年和2016年以来。

我用

解决了这个问题
Selection.MoveDown Unit:=wdParagraph, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1

如果段落是最后一段,则不起作用。