Автор Тема: Макрос на разделение  (Прочитано 3437 раз)

Сергей

  • Гость
Макрос на разделение
« : 25 Январь 2014, 19:16 »
Как разбить строку на части и считать в отдельные переменные для дальнейшей работы.
Пример:
Иванов А.А. Информатика, М. - 220с.
на
Иванов
А.А
Информатика
М.
220с.

Оффлайн Администратор

  • Administrator
  • Сообщений: 2053
Re: Макрос на разделение
« Ответ #1 : 25 Январь 2014, 19:25 »
Сергей, можно с этого начать:
Код
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

Сергей

  • Гость
Re: Макрос на разделение
« Ответ #2 : 25 Январь 2014, 19:38 »
Спасибо.

Сергей

  • Гость
Re: Макрос на разделение
« Ответ #3 : 26 Январь 2014, 19:12 »
А если строчек таких несколько, и считать их нужно с документа Word?

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

Оффлайн Администратор

  • Administrator
  • Сообщений: 2053
Re: Макрос на разделение
« Ответ #4 : 26 Январь 2014, 19:30 »
Вот так примерно:
Код
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