小编doq*_*an0的帖子

MS-Word VBA宏:转换/替换制表位到逗号

我正在处理几个Word文档,这些文档要求我将制表符转换或替换为逗号.文字可能如下所示:

Hello........world (dot)
Hello------------World (dash)
Hello____World (line)
Hello          world (none)
Run Code Online (Sandbox Code Playgroud)

Word为制表位提供了4种选择:点,短划线,直线和无.但是,我想只将前3个领导者类型替换为逗号.最后一个不会像这样改变:

Hello,world
Hello,World
Hello,World
Hello          world
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

参考:https://msdn.microsoft.com/en-us/library/office/ff192806.aspx

Word说行中有错误:TypeText =","我不知道如何纠正它.

你能帮我看一下这个宏吗?

提前致谢.

P/S:Slai有一个解决这个问题的方法.我只是将第二个代码复制到宏中,稍微修改一下以使其工作:

Sub Macro1()
    Dim p As Paragraph, t As TabStop

    For Each p In ActiveDocument.Paragraphs
        For …
Run Code Online (Sandbox Code Playgroud)

ms-word word-vba

6
推荐指数
1
解决办法
990
查看次数

标签 统计

ms-word ×1

word-vba ×1