Определить, является ли next в простом предложении наречием - VB
Формулировка задачи:
тут самое главное определить формальные признаки:
1.next- наречие в начале и конце предложения.
2.перед словами типа day,year,morning,week,etc...
Вот....
моих знания явно не хватает....Если у кого есть какие-нибудь идеи,помогите,пожалуйста!
Решение задачи: «Определить, является ли next в простом предложении наречием»
textual
Листинг программы
Option Explicit
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Adverb_IE()
Dim appIE As Object, tempHTML As Variant, strErr As String, A%, i%, St$, pos As Long, pos2 As Long, Adverb()
On Error GoTo Fehler
Adverb() = Array("рядом", "дальше", "затем", "около", "после", "потом", "снова") '"следующий раз" (2 слова)
i = Cells(Rows.Count, 1).End(xlUp).Row
If i = 1 Then MsgBox "Вы должны ввести хотя бы одно предложение в колонку A (ячейка A2)": Exit Sub
For i = 2 To i
If Cells(i, 1).Value <> "" Then
Set appIE = CreateObject("InternetExplorer.application")
appIE.Visible = False 'True, чтобы отображать окно IE
St = LCase(Replace(Cells(i, 1).Value, " ", "%20"))
appIE.Navigate "http://translate.google.ru/?hl=ru&tab=wT#en|ru|" & St
A = 0
While Not appIE.ReadyState = 4
Sleep (20)
A = A + 1
If A > 500 Then
strErr = "Проверьте подключение к сети интернет!"
End If
DoEvents
Wend
A = 0
Do
Sleep (25): DoEvents: A = A + 1: If A > 100 Then i = i - 1: Exit Do
tempHTML = appIE.Document.body.InnerHtml
Loop Until InStr(tempHTML, "result_box lang=ru")
appIE.Quit
pos = InStr(tempHTML, "result_box")
St = LCase(Mid(tempHTML, pos, 500))
For A = LBound(Adverb) To UBound(Adverb)
If InStr(St, Adverb(A)) Then Exit For
Next
'Два слова
If InStr(St, "следующий") And InStr(St, "раз") Then
ReDim Preserve Adverb(UBound(Adverb) + 1)
Adverb(UBound(Adverb)) = "следующий раз"
End If
Cells(i, 3).Clear
If A > UBound(Adverb) Then
Cells(i, 3) = "Next - не наречие"
Else
Cells(i, 2) = Adverb(A)
Cells(i, 3) = "Next - наречие"
Cells(i, 3).Font.Bold = True
End If
End If
Next
Set appIE = Nothing
Exit Sub
Fehler:
If appIE > "" Then appIE.Quit
Set appIE = Nothing
End Sub