【发布时间】:2021-01-01 06:23:37
【问题描述】:
我的 Word 文档需要我将制表位转换或替换为逗号。
文本可能如下所示:
Hello........world (dot)
Hello------------World (dash)
Hello____World (line)
Hello world (none)
Word 提供 4 种制表位前导选项:点、破折号、直线和无。
我只想将前 3 种领导者类型替换为逗号。
最后一个不会这样改:
Hello,world
Hello,World
Hello,World
Hello world
Word 中的查找和替换选项卡功能不起作用。所以我尝试从各种来源“复制并粘贴”到一个简单的宏中来完成这项任务:
Sub Macro1()
For Each para In ActiveDocument.Content.Paragraphs
For Each aTab In para.TabStops
If aTab.Leader = wdTabLeaderDots _
Or aTab.Leader = wdTabLeaderDashes _
Or aTab.Leader = wdTabLeaderLines Then
TypeText = ","
aTab.Clear
End If
Next aTab
Next para
End Sub
参考:https://msdn.microsoft.com/en-us/library/office/ff192806.aspx
Word 说行中有错误:TypeText = ","。
Slai 对这个问题有一个解决方案。我将第二个代码复制到一个宏中,稍作修改使其工作:
Sub Macro1()
Dim p As Paragraph, t As TabStop
For Each p In ActiveDocument.Paragraphs
For Each t In p.TabStops
If t.Leader Then p.Range.Find.Execute "^t", , , , , , , , , ",", wdReplaceAll
Next
Next
End Sub
如果您需要宏仅处理所选内容中的段落,请将 ActiveDocument 替换为 Selection。
【问题讨论】:
-
也许是查找和替换格式officearticles.com/word/…
-
@Slai 我尝试过 Word 中的查找和替换功能,但在这种情况下不起作用。