Извлечь инфу с данных - VBA

Узнай цену своей работы

Формулировка задачи:

здравствуйте, работаю в Ворде, есть в переменной а данные, например: ;агент;агента;агенту;агентом;агенте;агенты;агентов;агентам;агентами;агентах; ;агрессивный;агрессивного;агрессивному;агрессивным;агрессивном;агрессивные; всего около 2000 строк, в каждой строке 10-20 слов, строки разделены абзацем, слова - ; есть в переменной b данные, например: я увидел агента, он был агрессивным - всего 50 - 100 слов с переменной b данные циклом по каждому слову сравниванию, есть ли оно в переменной а - одна строка кода вопрос в том, если есть это слово то как узнать в какой оно строке и какое самое первое слово в этой строке? спс

Решение задачи: «Извлечь инфу с данных»

textual
Листинг программы
Option Explicit
'
Sub Obrabotka()
'
    Dim a As String
    Dim b As String
    Dim aa() As String
    Dim aax() As String
    Dim bb() As String
    Dim i As Long
    Dim i2 As Long
    Dim Старт_программы As Date
    'присвоение переменной даты начала программы
    Старт_программы = Time
 
    a = ActiveDocument.Bookmarks("all_word").Range
    aa = Split(a, Chr$(13))
 
    b = "я увидел агента, он был агрессивным"
    b = Replace$(b, ",", "")
    bb = Split(b, " ")
 
    For i = 0 To UBound(bb)
        'Debug.Print bb(i)
        If InStr(a, ";" & bb(i) & ";") <> 0 Then
            'MsgBox$ bb(i) & " - имеется в списке"
            For i2 = 0 To UBound(aa)
                'Debug.Print aa(i2)
                aax = Split(aa(i2), ";")
                'Debug.Print aax(1)
                If InStr(aa(i2), ";" & bb(i) & ";") <> 0 Then
                    MsgBox$ "Время обработки текста: " & DateDiff("n", Старт_программы, Time) & " мин." & vbCrLf & _
                            bb(i) & " - имеется в строке: " & i2 + 1 & " (" & aax(1) & ")"
                    Exit For
                End If
            Next
        End If
    Next
    MsgBox$ "Обработка закончена, время обработки текста: " & DateDiff("n", Старт_программы, Time) & " мин."
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы