powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL Инструкции Open и Close
5 сообщений из 5, страница 1 из 1
EXCEL Инструкции Open и Close
    #39615333
Фотография Yagrus2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello world!
На просторах интернета есть функция, которая определяет открыт EXCEL- файл или нет. Ее код ниже
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Function IsBookOpen(wbFullName As String) As Boolean
    Dim iFF As Integer
    iFF = FreeFile
    On Error Resume Next 'режим ошибок
    Open wbFullName For Random Access Read Write Lock Read Write As #iFF
    Close #iFF
    IsBookOpen = Err 'Если проверяемый EXCEL- файл открыт Err > 0,  в противном случае Err = 0
End Function

Тут, в примерах http://www.firststeps.ru/vba/vbahelp/r.php?40 описывается инструкция Open .
В частности написано: Open - разрешает выполнение с файлом операций ввода/вывода.
Чтобы получить возможность выполнить любую операцию ввода/вывода, файл необходимо открыть.

Поэкспериментировав с данной функцией выяснил, что важно наличие такого режима ошибок:
Код: vbnet
1.
On Error Resume Next

Если этот режим отключить, а проверяемый EXCEL- файл уже открыт, то возникает ошибка на инструкции Open .
Так же обратил внимание, что ни Close ни Open визуально ни как не влияют на проверяемый EXCEL- файл.

Что всё-таки делают эти инструкции?
Можно обратиться к ячейкам EXCEL- файла, без использования Workbooks.Open ?
...
Рейтинг: 0 / 0
EXCEL Инструкции Open и Close
    #39615417
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yagrus2Что всё-таки делают эти инструкции?
Делается попытка открыть указанный файл, с доступом на чтение и запись, причем в монопольном режиме.
Если попытка успешная - значит, файл не открыт никаким другим процессом.
Открытие файла в таком режиме не дает доступа к ячейкам (если Вы не написали свой парсер структуры EXCEL- файла ;)).
Yagrus2Можно обратиться к ячейкам EXCEL- файла, без использования Workbooks.Open ?
Можно прочитать данные из закрытого файла с помощью формул на листе, макрофункциий, команд SQL: https://www.google.ru/search?q=получить данные из закрытой книги excel vba
...
Рейтинг: 0 / 0
EXCEL Инструкции Open и Close
    #39615649
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yagrus2На просторах интернета есть функция, которая определяет открыт EXCEL- файл или нет.И она - содержит не менее 2 логических ошибок, т.е. баговая. Это если не считать массы некритичных недочётов. "Водку клюшница варила...".
...
Рейтинг: 0 / 0
EXCEL Инструкции Open и Close
    #39615916
Фотография Yagrus2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaYagrus2На просторах интернета есть функция, которая определяет открыт EXCEL- файл или нет.И она - содержит не менее 2 логических ошибок, т.е. баговая. .
Поделитесь информацией по ошибкам.

Как обходиться без нее?
...
Рейтинг: 0 / 0
EXCEL Инструкции Open и Close
    #39615932
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращается приведённое к Boolean значение дефолтного свойства объекта Err.
1) Представьте, что возникла ошибка при выполнении оператора Close.
2) Представьте, что ошибка при выполнении оператора Open не связана с тем, что этот файл открыт другим процессом.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL Инструкции Open и Close
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]