чтение текстового файла..

Программирование на Visual Basic for Applications
batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

чтение текстового файла..

Сообщение batiq » 25.03.2005 (Пт) 12:54

допустим, текстовый файл содержит значения а, в и с (без всяких разделителей).. как прочесть эти данные?

1574985463248687
\_____/\___/\____/
....\/.......\/......\/....
....а........в.......с....

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 25.03.2005 (Пт) 13:09

В эксель прочеcть, или куда?
Если в эксель, а все числа фиксированной ширины, используй импорт файла с параметром "поля фиксированной ширины".

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 25.03.2005 (Пт) 22:32

проблема в том, что переменные фиксированной ширины, да только отличаются на каждой стстроке..

пример:
aaaaaaaabbbbbbccccdddddddd
eeeeffffffffffffffffffffgggggghhhh

в excel ширина столбца указывается от указаной строки и до конца..

в паскале делается так:

a: string[8];
b: string[6];
c: string[4];
d: string[7];
...
h: string[4];

read(inputfile, a,b,c,d,e,f,g,h)

что-то подобное можно осуществить в vba?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 26.03.2005 (Сб) 8:42

А ты знаешь ширину каждой переменной в каждой строке? Если да, то читай файл по строчкам, а потом используй Mid$ для чтения отдельных переменных.

IvanSh
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.03.2005 (Вс) 15:20
Откуда: Minsk

Сообщение IvanSh » 26.03.2005 (Сб) 14:48

а если попробовать так
Код: Выделить всё
Type mType
    a As String * 8
    b As String * 6
    c As String * 4
    d As String * 8
    ns As String * 2
    e As String * 4
    f As String * 20
    g As String * 6
    h As String * 4
End Type

Dim m As mType

Private Sub Command1_Click()
    Dim fNum As Long
    fNum = FreeFile
    Open "c:\1.txt" For Binary As #fNum
    Get #fNum, , m
    Close #fNum
End Sub

здесь переменная ns это символ новой строки
Наши люди лёгкими путями не идут!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList