Макрос для добавления нулей перед числами в определенных столбцах таблицы Word doc

#vba #ms-word

#vba #ms-word

Вопрос:

Кто-нибудь может предложить какие-либо предложения по макросам 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?

Ответ №1:

Ответ предоставлен 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