Помимо VBA, такое приложение можно разработать с использованием API OpenOffice для чтения содержимого документа Word; обработайте его и экспортируйте результаты в виде файла CSV, чтобы открыть в приложении электронной таблицы.
Однако на самом деле это всего лишь несколько строк кода, если вы знакомы с любым языком программирования.
Например, в Python вы можете легко сделать это так:
Здесь мы определяем простую функцию, которая считает слова по заданному списку
def countWords(a_list):
words = {}
for i in range(len(a_list)):
item = a_list[i]
count = a_list.count(item)
words[item] = count
return sorted(words.items(), key = lambda item: item[1], reverse=True)
Остальное - манипулировать содержимым документа.Сначала вставьте это:
content = """This is the content of the word document. Just copy paste it.
It can be very very very very long and it can contain punctuation
(they will be ignored) and numbers like 123 and 4567 (they will be counted)."""
Здесь мы удаляем пунктуацию, EOL, скобки и т.д., А затем генерируем список слов для нашей функции:
import re
cleanContent = re.sub('[^a-zA-Z0-9]',' ', content)
wordList = cleanContent.lower().split()
Затем мы запускаем нашу функцию и сохраняем ее результат (пары подсчета слов) в другом списке и печатаем результаты:
result = countWords(wordList)
for words in result:
print(words)
Итак, результат:
('very', 4)
('and', 3)
('it', 3)
('be', 3)
('they', 2)
('will', 2)
('can', 2)
('the', 2)
('ignored', 1)
('just', 1)
('is', 1)
('numbers', 1)
('punctuation', 1)
('long', 1)
('content', 1)
('document', 1)
('123', 1)
('4567', 1)
('copy', 1)
('paste', 1)
('word', 1)
('like', 1)
('this', 1)
('of', 1)
('contain', 1)
('counted', 1)
Вы можете удалить скобки и запятую, используя поиск / замену, если хотите.
Все, что вам нужно сделать, это загрузить Python 3, установить его, открыть IDLE (поставляется с Python), заменить содержимое вашего текстового документа и запускать команды по одной в указанном порядке.