用于在特定Word doc表列中的数字前面添加零的宏

时间:2011-10-25 00:44:51

标签: ms-word word-vba

任何人都可以提供任何VBA宏建议吗?

在Word doc表中,我需要将以下规则应用于第1列:

我需要在数字前面添加零(0)以使它们长达8个字符。所有数字都以一两个字母结尾,这些字母将包含在8个字符数中。

例如:

2020A (5 characters) must read 0002020A (8 characters)
123456AB (8 characters) remains unchanged
765432X (7 characters) must read 0765432X (8 characters)

如何将此应用于Word doc上表格的第一列中的每个字段?

1 个答案:

答案 0 :(得分:3)

macropod在vbaexpress论坛上提供的答案:

Dim RngCel As Range, oCel As Cell, oTbl As Table 
For Each oTbl In ActiveDocument.Tables 
    For Each oCel In oTbl.Columns(1).Cells 
        Set RngCel = oCel.Range 
        RngCel.End = RngCel.End - 1 
        While Len(RngCel.Text) < 8 
            RngCel.InsertBefore "0" 
        Wend 
    Next oCel 
Next oTbl

http://www.vbaexpress.com/forum/showthread.php?p=254288#post254288