在启用了评论部分的文档上运行VBA /宏时,Word 2013崩溃。宏搜索一个字符并用注释部分和主文档中的“”(空白)替换它。这是使用Selection.Find.Execute
API完成的。当没有评论部分或没有选择标记时,Word不会崩溃。
这是在Windows 10和word 2013.该宏在Word 2007和Windows 7中运行良好。
可重复的步骤:
创建一个包含一个文本的简单文档并添加评论。
插入示例评论文字如下:(垂直添加如下:A:&(输入)等)
A: & B: & C: & D: & E: & F: & G: & H: & I: & J: & K: & L: & M: & N: &
创建宏:
Sub Test_Macro()
ActiveWindow.View.SplitSpecial = wdPaneComments
With Selection.Find
.Text = "&"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.HomeKey unit:=wdStory
If Selection.Find.Execute = True Then
'We found the slash. Delete it.
Selection.TypeBackspace
End If
End Sub
执行宏(&
将被清除)。继续执行; Word将在10次中崩溃2-3次。(相应地更新注释文本,清除所有&
时)。
答案 0 :(得分:0)
我在您的文字中没有看到问题,所以我无法回答,但我可以确认Microsoft Word 2013在ActiveDocument.Content.Find.Execute
上崩溃了。我通常不得不通过在执行宏之前手动执行“替换”对话框来解决此问题。这几乎每次都有效。
现在我发现this post表示它与使用空撤销记录运行的Execute有关。我能够通过插入一行代码来解决这个问题,该代码行在创建撤销记录后立即将一些文本添加到文档的最后一段。