【发布时间】:2021-09-28 18:14:10
【问题描述】:
需要你的帮助。而且我事先知道内置的“CTRL + H”功能应该给出适当的答案 - 但在我的情况下它不是。由于文本语言问题,并且因为我有很多不是“字母或数字”的字符 - 通常的搜索和交换会导致错误。
现在是请求 - 非常感谢!
我能够“抓取”并修改一个相对简单的代码,该代码执行整个文档的搜索和替换,我能够将 MSGBOX 线程化到每个替换的请求确认:
“确定”按钮 - 确认单个替换。 “否”按钮 - 跳过此搜索 - 并且不进行切换。 “取消”按钮 - 停止宏。
-
如何添加第四个按钮来执行“全部替换”?
-
是否有无需用户干预即可运行的“倒计时”选项?我希望默认为“Ok”,即使我没有按,3 秒后 - 将进行更改。
-
很多天我一直在头疼 - 并且无法转换仅适用于选定/标记文本的代码。
这是我使用的代码
Sub Want2Replace()
Dim myRange As Range
Set myRange = ActiveDocument.Content
myRange.Find.ClearFormatting
myRange.Find.MatchWildcards = True
Dim cached As Long
cached = myRange.End
Do While myRange.Find.Execute("åÀ")
myRange.Select
MyAnswer = MsgBox("Replace " & myRange.Find.Text & "?", vbYesNoCancel)
If MyAnswer = vbYes Then Call Shva_Na
If MyAnswer = vbCancel Then Exit Sub
myRange.Start = myRange.Start + Len(myRange.Find.Text)
myRange.End = cached
Loop
End Sub
【问题讨论】:
-
您不能向消息框添加按钮。您只能使用标准选项。
-
您可以创建用户表单以获得更大的灵活性/功能。 gmayor.com/Userform.htm
-
消息框不能给你按钮!您是否考虑过使用用户表单?