Страница: 1 |
Страница: 1 |
Вопрос: Не работает Put !!!!!
Добавлено: 07.02.05 10:11
Автор вопроса: MadNike
Помогите плз. Есть элементарнейший код:
Type Master
Number As Byte
StdRec As String * 6
SecName As String * 16
Unused As String * 13
SecSymbol As String * 16
Finish As Byte
End Type
Dim rec As Master
Open "c:\test.dat" For Random Access Write As #1 Len = Len(rec)
Put #1, 1, rec
Close #1
На выполнении операции Put получаю
Run-time error 75
Path/file access error
То ли я не догоняю чего-то, то-ли зеркало мне врет.
Система XP + Office 2002 и дома и на работе
дома пашет без базара, на работе вот такой беспредел
Заранее спасибо
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 07.02.05 10:35
Проверил - у меня твой код работает. Размер записи 53 байта. Кстати, макрос не выполняется из VBA IDE (выдает Compile Error: Expected:To), но выполняется с лита Excel. Может в Open где-то требуется поставить To?
По поводу систем дома и на работе: могут быть разные SP у XP и у Office XP.
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 07.02.05 10:37
А ты верно контролируешь размер строк при присваивании? Твой код работал так:
Type Master
Number As Byte
StdRec As String * 6
SecName As String * 16
Unused As String * 13
SecSymbol As String * 16
Finish As Byte
End Type
Sub Go()
Dim rec As Master
rec.Number = 1
rec.StdRec = Space(6)
rec.SecName = Space(16)
rec.Unused = Space(13)
rec.SecSymbol = Space(16)
rec.Finish = 1
Open "d:\home\vba\test.dat" For Random Access Write As #1 Len = Len(rec)
Put #1, 1, rec
Close #1
End Sub
Номер ответа: 3
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #3
Добавлено: 07.02.05 10:43
Тормознул, у тебя ошибка доступа. Может где-то чего-то не закрывает файл. Может в Open написать
Номер ответа: 4
Автор ответа:
MadNike
Вопросов: 1
Ответов: 1
Профиль | | #4
Добавлено: 07.02.05 16:35
Shared не помог
Что делать не знаю. Кстати так же не работают и print# для файлов типа For Output. Может дело в настройках каких?