Макрос на разделение

Автор Сергей, 25 января 2014, 19:16

Сергей

Как разбить строку на части и считать в отдельные переменные для дальнейшей работы.
Пример:
Иванов А.А. Информатика, М. - 220с.
на
Иванов
А.А
Информатика
М.
220с.

Администратор

Сергей, можно с этого начать:
Код
Sub Procedure_1()

    Dim strText As String
    Dim varVariant As Variant
    Dim i As Long
   
   
    strText = "Иванов А.А. Информатика, М. - 220с."
   
    'Разбивка строки на части по пробелам.
    varVariant = Split(strText, " ")
   
    'Вывод результата в View - Immediate Window.
    For i = 0 To UBound(varVariant) Step 1
        Debug.Print varVariant(i)
    Next i
   
End Sub
[свернуть]

Сергей


Сергей

А если строчек таких несколько, и считать их нужно с документа Word?

[вложение удалено администратором]

Администратор

Вот так примерно:
Код
Sub Procedure_1()
   
    Dim varVariant As Variant
    Dim i As Long, j As Long
   
   
    'В цикле с "i" проходимся по абзацам документа.
    'Двигаемся со второго абзаца по последний.
    For i = 2 To ActiveDocument.Paragraphs.Count Step 1
       
        'Разбивка строки на части по пробелам.
        varVariant = Split(ActiveDocument.Paragraphs(i).Range.Text, " ")
       
        'Вывод результата в View - Immediate Window.
        For j = 0 To UBound(varVariant) Step 1
            Debug.Print varVariant(j)
        Next j
           
    Next i
   
End Sub
[свернуть]