Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
Ну вот видишь - тебе что говорили...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам