powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / добавлять строки в конец текстового файла
9 сообщений из 9, страница 1 из 1
добавлять строки в конец текстового файла
    #34747097
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плиз, прошу помощи.

Дано: файлы с таблицами данных 0816_01.txt, 0816_02.txt, 0816_03.txt
Нужно:
пооочередно открывать каждый файл,
фильтровать строки, содержащие текстовую константу,
копировать в выходной файл построчно.

С последовательной работой с input файлами еще не разбирался.
Пока сделал - открыть 1 файл, отфильтровать, записать в output.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Public TextToFind1 As String
Public TextToFind2 As String
Public TextToFind3 As String
Public MS As String
Public DC As String


Sub FilterFile()
'
'Фильтрация текстового файла
' по всем ключевым словам, приведенным ниже

TextToFind1 = "Session Start"
TextToFind2 = "Session End"
TextToFind3 = "CP-Data"
MS = "MS1"
DC = "DC1"

Call FindText

End Sub

Sub FindText()
Open "0816_01.txt" For Input As # 1 
Open "output.txt" For Output As # 2 
Do Until EOF( 1 )
Line Input # 1 , data
If (InStr( 1 , data, MS) Or InStr( 1 , data, DC)) Then
    If InStr( 1 , data, TextToFind1) Then
    Print # 2 , data
    Else
        If InStr( 1 , data, TextToFind2) Then
        Print # 2 , data
        Else
            If InStr( 1 , data, TextToFind3) Then
            Print # 2 , data
            End If
        End If
    End If
End If
Loop
Close
End Sub

Проблема:
как сделать, чтобы при фильтрации очередного входного файла строки с ключевыми словами добавлялись в конец output.txt?
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34747260
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открой второй файл таким образом
Код: plaintext
      Open "output.txt" For Append As # 2 
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34747352
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему-то копирует полностью исходный файл :(
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34747360
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Public TextToFind1 As String
Public TextToFind2 As String
Public TextToFind3 As String
Public MS As String
Public DC As String



Sub FilterFile()


TextToFind1 = "Session Start"
TextToFind2 = "Session End"
TextToFind3 = "CP-Data"
MS = "MS1"
DC = "DC1"

Call FindWriteText

MS = "MS2"
DC = "DC2"

Call FindWriteText

End Sub

Sub FindWriteText()
Open "0816_01.FMT" For Input As # 1 
Open "output.txt" For Append As # 2 
Do Until EOF( 1 )
Line Input # 1 , data
If (InStr( 1 , data, MS) Or InStr( 1 , data, DC)) Then
    If InStr( 1 , data, TextToFind1) Then
    Print # 2 , data
    Else
        If InStr( 1 , data, TextToFind2) Then
        Print # 2 , data
        Else
            If InStr( 1 , data, TextToFind3) Then
            Print # 2 , data
            End If
        End If
    End If
End If
Loop
Close
End Sub
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34747489
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо проверять, что возвращает функция InStr() то есть номер позиции найденного символа
или просто, больше нуля, или ничего не нашла, то есть равно нулю
Код: plaintext
    If InStr( 1 , data, TextToFind1) >  0  Then
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34747510
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Заработало.

Из процедуры FindWriteText компилировал и запускал макрос.
Башка - два уха.

Сорри.
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34751321
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос в тему, можно ли каким нить образом заменить строку в текстовом файле?
надо вставить данные ячейки вместо строчки
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34751516
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
добавлять строки в конец текстового файла
    #34753234
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сформулируйте вопрос понятней и если он не связан с темой топика, то создайте новую тему.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / добавлять строки в конец текстового файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]