【发布时间】:2018-08-27 17:15:01
【问题描述】:
我有一个 VBA 宏 (Word2010) 脚本来突出显示所有斜体文本。但是当在大文件中执行时,比如说一个超过 10 页的文档,Word 就会崩溃。 为此,我使用了以下代码。
Sub Italics_Highlight()
'
' test_italics_highlight_ Macro
'
'
Application.ScreenUpdating = False
Dim myString As Word.Range
Set myString = ActiveDocument.Content
With myString.Find
.ClearFormatting
.Text = ""
.Font.Italic = True
While .Execute
myString.HighlightColorIndex = wdTurquoise
myString.Collapse wdCollapseEnd
Wend
End With
MsgBox "Thank you!"
End Sub
请您帮忙解决这个问题。提前感谢您的帮助。
【问题讨论】:
-
“Word 崩溃”到底是什么意思,它像强制关闭一样崩溃而没有任何错误消息吗?或者它是否显示错误消息?如果是强制关闭,则将您的 Office 升级到最新版本,如果仍然出现,则为错误,您需要联系 Microsoft 支持。请注意:如果您禁用屏幕更新
Application.ScreenUpdating = False,请不要忘记在最后启用它,否则它可能会在您完成程序后被禁用。 -
我可以给你两个猜测。首先,可能是您的文档在某处有一些奇怪的样式格式,例如,斜体文本的发现部分从表格内部延伸到下一段。这通常应该不是问题,但有时人们倾向于通过复制/粘贴、更改标记等来搞乱他们的文档……第二个猜测是你的 word/计算机有点慢,并告诉你 Word 是“不是回应”。尝试通过使用逐步和/或断点来调试代码以找出问题发生的位置
-
感谢您的更新。我最后添加了 Application.ScreenUpdating = True 我忘了在这里添加它。我的意思是 MS Word 变得完全没有反应。运行此代码后,我无法再做任何事情。我仍然可以看到突出显示已完成。任务管理器中的文件状态更改为“未响应”