|
-2 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 9
|
|
Программа для удаления повторяющихся слов22.11.2012, 11:25. Показов 4809. Ответов 15
Метки нет (Все метки)
Нужно написать программу в vba которая удаляет повторяющиеся слова в текстовом документе. Помогите пожалуйста. Я пока что нуб
0
|
|
| 22.11.2012, 11:25 | |
|
Ответы с готовыми решениями:
15
Программа для удаления повторяющихся слов Программа для поиска не повторяющихся слов
|
|
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
| 22.11.2012, 11:38 | |
|
Или читаете про vba как написать простейший макрос (есть самоучители для новичков), пишете свою программу псевдокодом (словами на русском на клочке бумаги) и выкладываете сюда то, что попытались написать на vba и что-то пошло не так,
Или размещаете свою заявку в разделе Фриланс: Заказать программу
1
|
|
|
-2 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 9
|
|
| 22.11.2012, 11:47 [ТС] | |
|
Ну значит я так понимаю. Я создаю текстовый документ. В нём пишу допустим следующее предложение "Ночь, улица, фонарь фонарь." Мне нужно удалить повторяющееся слова фонарь.
Sub one() dim i as string потом нужно открыть сам текстовый документ open "C:\tekst.txt" Что дальше нужно делать ? Не могу понять.
0
|
|
|
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
|
||||||
| 22.11.2012, 11:57 | ||||||
|
Ну допустим, файл читаете и открываете для записи так:
1
|
||||||
|
-2 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 9
|
|
| 22.11.2012, 11:59 [ТС] | |
|
Ага, значит в поле "что-то делаем нужно написать какой то сканер ? Или что то типо того, который бы проверял наличие повторяющихся символов ?
0
|
|
|
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
| 22.11.2012, 12:12 | |
|
Макрос для какой офисной программы пишется? От этого зависит, какую объектную модель можно использовать своместно с синтаткисом чистого VBA. Если открыть этот файл в Word, там есть доступ к разботу текста на слова, минуя знаки препинания и проч. Программа может в цикле составить массив, в первом столбце которого каждое встреченное слово (по 1 разу), второй столбец - количество вхождения слова в текст. Слова, встреченные более 1 раза - удалять, начиная со второго вхождения. Как-то так. Вот у Вас есть псевдокод. Открывайте Word, наживайте "запись макроса", делайте открытие документа, смотрите что получилось. Дальше узнаете (можно задать отдельный вопрос на форуме) как перечислить все слова в текстоом документе, открытом в Word. Получаете ответ. Дальше думаете как заполнить массив. И так далее.
0
|
|
|
-2 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 9
|
|
| 22.11.2012, 12:18 [ТС] | |
|
Не обязательно с офисом, можно и просто с блокнотом. Идею понял, сейчас буду играться с ворде.
0
|
|
|
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
|
||||||
| 22.11.2012, 12:24 | ||||||
|
да. но здесь проще по-другому, с использованием эксель: вы читаете файл в строку как показано, затем разбиваете в массив ArrAllWord на слова (один элемент - одно слово) затем можно использовать коллекцию и ее свойство add (а поможет оно тем, что в коллекцию можно добавить только уникальный элемент), если элемент добавился без ошибок, значит уникальный. заодно его запишем в массив ArrUniqueOnly . затем этот массив обратно в строку и в файл. Этот код не проверял, допиливайте самостоятельно
Даже с вордом проще
1
|
||||||
|
-2 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 9
|
|
| 22.11.2012, 12:27 [ТС] | |
|
А данный код будет работать с вордом ?
0
|
|
|
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
||
| 22.11.2012, 13:19 | ||
Сообщение было отмечено как решение
Решение
1
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 22.11.2012, 14:01 | ||||||
Сообщение было отмечено как решение
Решение
Для Word:
Правда и одиночные буквы/предлоги тоже - ну это как набросок...
2
|
||||||
|
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
|
||||||
| 22.11.2012, 15:21 | ||||||
|
Красиво.
Поставьте так, и буквы уберутся ![]()
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 22.11.2012, 16:52 | |
|
Нет, =1 нельзя - так перевод строк тоже уберётся.
Я же говорю - набросок, нужно шлифовать. Найти как отфильтровать перевод строк, что делать с запятыми, всякими "и", "а", "?", "!" Но всё равно код получается короче, чем если напрямую файл txt перебирать.
1
|
|
|
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
|
||||||
| 22.11.2012, 17:49 | ||||||
|
Вот решил эти проблемы:
1
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 22.11.2012, 18:32 | ||||||
Сообщение было отмечено Sasha_Smirnov как решение
Решение
Не, не так. Но почти - совместными усилиями кажется добили
![]()
1
|
||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25.04.2016, 13:49 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hugo121, добавлю: этот код срабатывает, когда он вписан в модуль ThisDocument.
В нём можно найти 32 «слова»:
Но вот ведь казус: от строки*
* разумеется, в основном тексте документа Word Пример более литературных частот: Стихотворцы
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25.04.2016, 13:49 | |
|
Помогаю со студенческими работами здесь
16
Не могу придумать функцию для удаления повторяющихся элементов?
Программа, которая сможет считать кол-во повторяющихся слов в тексте Алгоритм для поиска и удаления повторяющихся элементов связного списка. Java Нужно написать функцию compress для удаления повторяющихся букв в слове Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|