Консультация № 178646
26.05.2010, 01:16
0.00 руб.
0 1 1
В файле хранится произвольный текст. Группы символов, разделенные пробелом и не содержащие пробелов внутри себя, будем называть словами. Удалить из каждого слова текста все последующие вхождения его первой буквы. Результат записать в новый файл.

1.В работе необходимо выполнить алгоритмические задачи с использованием базовых типов данных и основных операторов языка программирования VBA.
2. Задачи прислать в виде файлов Word либо Excel, с кодом программы, выполненном в среде VBA соответствующего компонента Office.
3. В программах обязательно наличие комментариев, поясняющих основные алгоритмические шаги.

Обсуждение

давно
Модератор
137394
1850
26.05.2010, 17:15
общий
это ответ
Здравствуйте, Ананьев Рудольф Олегович. Вот код макроса. В нём надо указать пути к файлам.
Код:
Sub Z178646()
Const FileNameIn = "H:\Delete\0001.txt"
Const FileNameOut = "H:\Delete\0001_OUT.txt"

NFileIn = FreeFile ' Определяем ссылочный Входного номер файла
Open FileNameIn For Input As #NFileIn ' Открываем входной файл

NFileOut = FreeFile ' Определяем ссылочный Выходного номер файла
Open FileNameOut For Output As #NFileOut ' Открываем выходной файл

i = 0
Do While Not EOF(NFileIn) ' Loop until end of file.
Line Input #NFileIn, Dann ' Читаем построчно текстовый файл со словами
Mass = Split(Dann, " ") ' Экспортируем прочитанную строку в массив. Резделитель - пробелы

Dann = ""
For i = 0 To UBound(Mass) ' Обрабатываем каждое слово в массиве, формируем новую строку
If i <> 0 Then Dann = Dann + " "
LM = Len(Mass(i)) ' длина слова
If LM > 1 Then
L1 = Mid(Mass(i), 1, 1) ' Выделяем первый символ в слове
Dann = Dann + L1 + Replace(Mid(Mass(i), 2, LM), L1, "") ' Новое слово (первый символ+ результат замены его замены в оставшейся части слова на строку нулевой длины) добавляем в строку
Else
Dann = Dann + Mass(i) ' Слово из одной буквы
End If
Next

Print #NFileOut, Dann ' Записываем новую строку в новый файл
i = i + 1
Loop

Close #NFileIn ' Закрываем файлы
Close #NFileOut

MsgBox "Конвертация файла" + vbCrLf + FileNameIn + vbCrLf + "в файл" + vbCrLf + FileNameOut + vbCrLf + "выполнена"
End Sub
Excel-файл в прикреплённом файле
Прикрепленные файлы:
5
большое спасибо!
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа