我正在处理几个Word文档,这些文档需要我将制表符转换或替换为逗号。文字可能如下所示:MS-Word VBA宏:转换/替换制表位为逗号
Hello........world (dot)
Hello------------World (dash)
Hello____World (line)
Hello world (none)
Word为制表位提供了4种选择:点,短划线,行和无。不过,我想用逗号代替前三种领导类型。最后一个不会像这样更改:
Hello,world
Hello,World
Hello,World
Hello world
在Word中查找和替换选项卡功能不起作用。所以很多谷歌搜索后,我试图“复制和粘贴”从各种来源成一个简单的宏来完成这个任务(我完全陌生的Word宏和VBA):
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
单词表示行中有错误:TypeText =“,”,我不知道如何更正它。
你能帮我解决这个问题吗?
在此先感谢。
P/S:Slai为此问题提供了解决方案。我刚才复制的第2代码成为一个宏,修改一点点,使其工作:
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来选择。
也许查找和替换格式http://www.officearticles.com/word/find_and_replace_styles_in_microsoft_word.htm – Slai
@Slai我已经尝试在Word中查找和替换功能,但它在这种情况下不起作用。 – doquan0