Кажется, что вы хотите загрузить экземпляр MS Word (фактически, ваш код загружает много в цикле, возможно, сотни), чтобы получить доступ к перечислениям вроде wdVerb , которые, как вы надеетесь, будут определять глаголы в тексте.,Перечисления - это числа, если быть точным, длинные целые числа.Например, wdVerb представляет значение 3 (введите ? WdVerb в окне «Немедленно» Word VBE).Я понятия не имею, что Word делает с этими числами, но ваш x (i) содержит строку.
Select Case x(i)
Case wdAdverb, wdVerb
Case Else
, следовательно, должен всегда по умолчанию Else , если это не 2 или 3 или одиндругих номеров, которые вы перечислите там.Первый вопрос, который мне приходит в голову, это почему вы не используете Word.Используйте таблицу Word в документе Word.Во-вторых, ваша идея не может быть реализована.Определение глагола в «Я пошел?»или «Я посредник» - большая работа.Не ожидайте, что это будет выполнено Word в конце числа.В-третьих, кажется, что вы хотите извлечь большинство слов.Почему бы сначала не извлечь все слова, а затем составить список слов, которые вы хотите исключить, и отфильтровать их.Наконец, ваш массив (".", ",", ";") Кажется сложным.Следующая структура менее объемна?
PuncChars = ".,;"
and
For i = 1 to Len(PuncChars)
Txt = Replace(Txt, Mid(PuncChars, i, 1), "")
Next i
Вы сможете использовать очень похожую систему для фильтрации слов, которые вы не хотите извлекать.