Option Explicit
Public Sub Maks555()
Dim fs 'FileSystemObject
Set fs = CreateObject("Scripting.FileSystemObject")
Dim stream 'TextStream
Set stream = fs.OpenTextFile( _
"ReadRextFile.txt", _
1, _
False)
Dim state As Integer
state = 1
While Not stream.AtEndOfStream And state < 6
Dim s As String
s = stream.ReadLine
Select Case state
Case 1: ' обработаем От
state = DoFrom(s)
Case 2: ' обработаем Кому
state = DoTo(s)
Case 3: ' обработаем дату
state = DoDate(s)
Case 4: ' обработаем тему
state = DoSubj(s)
Case 5: ' обработаем тело
s = stream.ReadLine ' пропустим Файлы
s = stream.ReadLine ' пропустим разделитель
state = DoBody(s)
End Select
Debug.Print s
Wend
stream.Close
End Sub
Private Function DoFrom(s As String) As Integer
If Left(s, 4) = "От: " Then
Range("a1") = Mid(s, 5)
DoFrom = 2 ' дальше будем обрабатывать Кому
Else
DoFrom = 1 ' продолжаем искать От
End If
End Function
Private Function DoTo(s As String) As Integer
Range("b1") = Mid(s, 7)
DoTo = 3 ' дальше будем обрабатывать дату
End Function
Private Function DoDate(s As String) As Integer
Range("c1") = Mid(s, 11)
DoDate = 4 ' дальше будем обрабатывать тему
End Function
Private Function DoSubj(s As String) As Integer
Range("d1") = Mid(s, 7)
DoSubj = 5 ' дальше будем обрабатывать тело
End Function
Private Function DoBody(s) As Integer
Range("e1") = s
DoBody = 6 ' конец
End Function
вопрос по работе с текстом и фаилами в Vba
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
От: Иванов Иван Иваныч <sender@xx.ru>
Кому: <xxxxx@mail.ru>
Написано: 17 июня 2005 г., 10:10:49
Тема: любая тема
Файлы:
--====----====----====----====----====----====----====---
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Плиз подскажи алгоритм и желательно код которым можно сделать следующее:
e-mail от кого <sender@xx.ru> скопировать в Ecxel в столбец "A". Дату написания 17 июня 2005 г. в столбец "B"
, тему в столбец "C", а тело в столбец "D".
Вообщем должен получится импорт писем в Ecxel. В одном текстовом фаиле может быть несколько писем.
большое спасибо! сейчас буду пробовать