Страница: 1 |
Страница: 1 |
Вопрос: Файловый ввод/вывод
Добавлено: 27.01.06 09:19
Автор вопроса: Sith666 | ICQ: 112680690
Взял пример из MSDN, слегка переделал. На строчке выделенной жирным шрифтом происходит ошибка Path/File Access Error. IOroute повесил на кнопку на листе Excel.
Public Sub IOroute()
Dim MyRecord As Record, RecordNumber ' Declare variables.
' Open file for random access.
Open "D:\WXP_f\My Docs\Magister\28oct2005\abc.txt" For Random As #1 Len = Len(MyRecord)
For RecordNumber = 1 To 5 ' Loop 5 times.
MyRecord.ID = RecordNumber ' Define ID.
MyRecord.Name = "My Name" & RecordNumber ' Create a string.
Put #1, RecordNumber, MyRecord ' Write record to file.
Next RecordNumber
Close #1 ' Close file.
End Sub
Public Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Вообще задача стоит следующая: есть пополняющийся текстовик с координатами фигур, нужно в этом текстовике находить координаты какой-то фигуры и время от времени их редактировать. Я так и не нашёл как это делать в VBA. В Си всё просто, там по файлу ходит указатель.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
GeorgeGA
Вопросов: 1
Ответов: 101
Профиль | | #1
Добавлено: 27.01.06 16:14
Проверь настройки доступа к файлу, т.к.процедура у тебя нормальная
Номер ответа: 2
Автор ответа:
Sith666
ICQ: 112680690
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 27.01.06 19:29
Сегодня проделал абсолютно этот же код, но только под Visual Basic. Под ним всё работает. Какая-то тонкость именно в VBA
Номер ответа: 3
Автор ответа:
GeorgeGA
Вопросов: 1
Ответов: 101
Профиль | | #3
Добавлено: 27.01.06 19:40
у тя наверное какой-то баг,или версия старовата,попробую метод write
Номер ответа: 4
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #4
Добавлено: 28.01.06 09:30
попробуй убрать № файла! бери номер первый из свободных. должно помочь.
ps когда запускаешь код, который открывает файл, и он дает ошибку - надо файл закрыть! а при использовании любого свободного номера это исключено (октрывается под другим номером).
если же при первом запуске кода возникает ошибка, тоды ОЙ!
Номер ответа: 5
Автор ответа:
Sith666
ICQ: 112680690
Вопросов: 1
Ответов: 3
Профиль | | #5
Добавлено: 28.01.06 10:46
Убрать номер файла, т.е. поменять его на другой? Сменил 1 на 5, ошибка та же, в том же месте. Если происходит ошибка после открытия файла и, не закрывая файл, запустить код снова, то происходит уже другая ошибка типа File In use(всё закономерно). Похоже, что здесь именно ситуация "ОЙ", ошибка возникает как раз при первом запуске кода...
Номер ответа: 6
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #6
Добавлено: 28.01.06 10:53
тогда см. ответ №1
Номер ответа: 7
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #7
Добавлено: 28.01.06 13:07
Только что этот код проверил у себя в екселе. Всё работает отлично. Проверь доступ к файлу. Может, какая-нть ещё прога юзит его. Или сам не закрыл.
Номер ответа: 8
Автор ответа:
Sith666
ICQ: 112680690
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 28.01.06 13:21
Вопрос снимается. Прошу у всех прощения за потраченное время. Только что выяснил, что выполнение скрипта блокирует Антивирус Касперского Стоило лишь отключить "постоянную защиту" как код сработал на "ура".
Номер ответа: 9
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #9
Добавлено: 28.01.06 13:32
Ну вот видишь - тебе что говорили...