好的,我有一份Word文档。它有一堆文本,有些是正常的,有些是斜体的,有些是粗体的,有些是粗体和斜体的。
我想浏览整个文档并用星号封闭的相同内容替换斜体(或封装它)。
eg. Italics = *Italics*, Bold = **Bold**, BoldandItalics = ***BoldandItalics***.
我不想将整个内容转换为 Markdown 格式,只需这三件事。
我尝试使用“查找和替换”功能来选择斜体但不是粗体的文本并替换为
*^&*
。将粗体替换为 **^&**
以及同时替换为 ***^&***
的粗体。
问题是我每次都这样做。 Word 将结束星号推到下一段。
例如。查找和替换之前:
古古加加
查找并替换后:
*googoogaga
*
(上面的最终结果在word中仍然可以保持斜体。这不是问题,但由于Stack Overflow显然在这里使用Markdown格式,只是想澄清一下。)
很长一段时间以来,这一直困扰着我。我尝试从 ChatGPT 获取帮助,它建议了一些使用 VBA 的内容,但足以说明它不起作用并且遇到了同样的问题。
简单:
Sub ApplyMarkDown()
Application.ScreenUpdating = False
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Format = True
.MatchWildcards = True
.Wrap = wdFindContinue
.Font.Bold = True
.Text = "[!^13^l]{1,}"
.Replacement.Text = "**^&**"
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Font.Italic = True
.Replacement.Text = "*^&*"
.Execute Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True
End Sub