Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
2 / 2 / 0
Регистрация: 29.08.2017
Сообщений: 13

Ошибка: file already open (VBA)

13.10.2017, 00:35. Показов 2666. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток многоуважаемые форумчане!
Я конечно понимаю уже существуют похожие темы, вроде написан код правильно и команду Close #1 предусмотрел в конце цикла, но все равно компилируется Ошибка: file already open.
В чем дело не понятно((((???
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub DoWhileDemol()
Dim LineCt As Long
Dim LineOfText As String
Open "F:\.........\text01.txt" For Input As #1
LineCt = 0
Do While Not EOF(l)
Line Input #1, LineOfText
Range("Al").Offset(LineCt, 0) = UCase(LineOfText)
LineCt = LineCt + 1
Loop
Close #1
End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2017, 00:35
Ответы с готовыми решениями:

Ошибка: File already open (VB 6)
Здравствуйте форумчане! Есть лабораторная университетская, задание таково: добавить в файл имя возраст пол человека и вывести мужчин с...

Ошибка fatal error C1083: Cannot open include file: ***: No such file or directory
Помогите пожалуйста исправить ошибку. При компиляции возникает вот такая беда. подробности в скриншотах. даже если переносишь все файлы в...

Ошибка fatal error C1083: Cannot open include file: 'd3d8.h': No such file or directory
Всем добрый вечер! У меня возникает ошибки при компиляции файла. Подробности в скриншотах. ...

9
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.10.2017, 00:55
Ошибка здесь: Do While Not EOF(l). Надо: Do While Not EOF(1)
0
2 / 2 / 0
Регистрация: 29.08.2017
Сообщений: 13
13.10.2017, 01:30  [ТС]
mobile,
Do While Not EOF(l). Надо: Do While Not EOF(1) - Исправил косяк,
Но ошибка все равно никуда не пропала
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12219 / 5061 / 813
Регистрация: 07.08.2010
Сообщений: 14,920
Записей в блоге: 4
13.10.2017, 06:46
может ваш файл уже открыт в другой версии вашей процедуры(без строки ckjse #1) или в блокноте
попробуйте добавить строку
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub DoWhileDemol()
Dim LineCt As Long
Dim LineOfText As String
''''''''''
reset
 
Open "F:\.........\text01.txt" For Input As #1
LineCt = 0
Do While Not EOF(l)
Line Input #1, LineOfText
Range("Al").Offset(LineCt, 0) = UCase(LineOfText)
LineCt = LineCt + 1
Loop
Close #1
End Sub
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
13.10.2017, 07:11
Используйте функцию FreeFile

Функция FreeFile

FreeFile([RangeNumber])

Функция FreeFile используется для возвращения незанятого номера(не задействованного для открытия другого файла) файла, который можно использовать при открытии файла инструкцией Open. Рекомендуется всегда использовать эту функцию при открытии файла во избежание различных проблем
Возвращаемое значение

Возвращает значение типа Integer в диапазоне от 1 до 511, представляющее следующий номер файла, доступный для использования с инструкцией Open
Параметры

RangeNumber

Необязательный аргумент типа Variant, указывающим диапазон, из которого возвращается следующий свободный номер файла. Значение 0 (используется по умолчанию) задает возвращение номера файла из диапазона 1 – 255 включительно. Значение 1 задает возвращение номера файла из диапазона 256 – 511

Пример

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
' Используем функцию FreeFile
' для определения следующего свободного номера файла
' В цикле последовательно открываются для вывода данных
' пять файлов, в каждый из которых записываются
' некоторые данные
Dim MyIndex, FileNumber
For MyIndex = 1 To 5 ' Выполняет цикл 5 раз
 FileNumber = FreeFile ' Определяем свободный номер файла
' Создаем файл
 Open "TEST" & MyIndex For Output As #FileNumber 
 Write #FileNumber, "Пример." ' выводим текст
 Close #FileNumber ' закрываем файл
Next MyIndex
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
13.10.2017, 08:07
daggg, не уверен, что freefile поможет. у меня открыто много файлов, фри выдает 1. Поэтому не будет проверки на уже существующий файл. Для своих программ я написал такую функцию для проверки существования файла. Sname строка с именем файла. Истина, если уже загружен, иначе Ложь

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Public Function IsWbExist(Sname As String) As Boolean
Dim W As Object
IsWbExist = True
On Error GoTo WbFal
Set W = Workbooks(Sname)
GoTo Final
WbFal:
IsWbExist = False
Final:
On Error GoTo 0
End Function
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
13.10.2017, 08:13
Цитата Сообщение от Burk Посмотреть сообщение
фри выдает 1
Вы не о тех файлах пишите.
Речь идет только о файлах открытых инструкцией Open
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
13.10.2017, 08:14
daggg, да и открывать, если его нет, нужно без #Number. Sname без полного пути к файлу, только его имя
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
13.10.2017, 08:20
Цитата Сообщение от Burk Посмотреть сообщение
открывать, если его нет, нужно без #Number
Не понял, если честно. Можете пояснить?

Добавлено через 3 минуты
Короче
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub DoWhileDemol()
Dim LineCt As Long, ff as integer
Dim LineOfText As String
ff=FreeFile
Open "F:\.........\text01.txt" For Input As #ff
LineCt = 0
Do While Not EOF(ff)
Line Input #ff, LineOfText
Range("A1").Offset(LineCt, 0) = UCase(LineOfText)
LineCt = LineCt + 1
Loop
Close #ff
End Sub
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
13.10.2017, 09:52
SoftIce, я пишу только о файлах, которые у меня открыты инструкцией Open
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2017, 09:52
Помогаю со студенческими работами здесь

Вылетает ошибка! Warning: file_get_contents(main.tpl) [function.file-get-contents]: failed to open stream: No such file or directory in /home/u6958797
В чем может быть проблема <?php require_once "config_class.php"; require_once "article_class.php"; require_once...

Ошибка при "сборке" Cannot open include file: 'stdafx.h': No such file or directory
Я полный ноль в C++=( Вот код:#include "stdafx.h" #include <stdio.h> #include <windows.h> #define MAXINJECTSIZE 4096 ...

Maya APi, ошибка "Cannot open include file. No such file or directory"
Помогите плз кто знает искал не нашол решения. f:\project\test\basicswshader1\basicswshader.h(20) : fatal error C1083: Cannot open...

Ошибка File not open
procedure TForm1.MenuItem7Click(Sender: TObject); //Работа А (Выбор по маске) var n:integer; ni:integer; gr:string; ...

Ошибка Unable to open file
Добрый день. Недавно начал изучать С++. Мне интересна библиотека SFML. Так вот при создании текстура не отображается и в консоли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru