Работа с файлами произвольного доступа в VBA for Exel 2002

Программирование на Visual Basic for Applications
Максим17
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 07.12.2005 (Ср) 13:53

Работа с файлами произвольного доступа в VBA for Exel 2002

Сообщение Максим17 » 07.12.2005 (Ср) 14:01

У меня вопрос по работе с файлами произвольного доступа в VBA for Exel 2002

Заказ.Изделия - Объектная Переменная(ОП), состоящая из нескольких других определённых мной типов данных, содержащая динамические массивы и переменные различных типов данных.
**********************************************************************
Здесь приведён код, которым я помещаю ОП в файл.

ChDrive "C" ' Работа с файлами
ChDir ПутьЗаказы
Здесь при открытии файла задаю ему предельно допустимый размер, чтобы не заморачиваться с определением размера моей объектной переменной.
Open Заказ.Атрибуты.Название + "@Изделия" For Random As #1 Len = 32767
For i = 1 To UBound(Заказ.Изделия)
Put 1, i, Заказ.Изделия(i)
Next
Reset
**********************************************************************
Ниже приведён код извлечения ОП из файла.

ДлинаПути = Len(ПутьЗаказы)
For i = 0 To СпАрхЗак.ListCount – 1
If СпАрхЗак.Selected(i) = True Then
ИмяФайла = Right(Application.FileSearch.FoundFiles(i + 1), Len(Application.FileSearch.FoundFiles(i + 1)) - ДлинаПути - 1)
Open Application.FileSearch.FoundFiles(i + 1) For Random As #i + 1 Len = 32767
Размерность динамического массива <Заказ.Изделия()> на этом этапе уже определена.
For i = 0 To UBound(Заказ.Изделия)
Get i + 1, i, Заказ.Изделия(i)
Next
Exit For
End If
Next
*********************************************************************
Мне совершенно непонятно, почему данный способ записи и чтения ОП иногда срабатывает а иногда выдаётся сообщение об ошибке.
Данную задачу я решил сохранив ОП на листе Exel, позже обнаружив некоторые минусы этого способа, составил алгоритм сохранения в текстовом файле. К сожалению оба этих алгоритма достаточно сложны вследствие сложной архитектуры самой ОП. Гораздо проще сохранить её в файл произвольного доступа.

С благодарностью приму любые советы и комментарии на эту тему. :!:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 07.12.2005 (Ср) 14:03

Проверяй имя файла на наличие недопустимых символов перед созданием :)


Вернуться в VBA

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

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 94

    TopList  
cron