powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать в VBA, что Excel-файл с заданным именем - открыт?
8 сообщений из 8, страница 1 из 1
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38878948
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллего,

день добрый. В VBA экселевском я открываю файл

Set xlsaFrom = Workbooks.Open(Filename:=currPathFrom, ReadOnly:=True, UpdateLinks:=False)

Иногда, данный файл уже открыт на компе (=> тут же получаю ошибку).
Подскажите, пожалуйста, можно как-то узнать, открыт уже данный файл на этом же компе (не по сети)?
Какой-нибудь способ без обработки исключения, что-то вроде "Проверить статус"?

Спасибо
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38878982
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получайте доступ к файлу так - неважно, открыт он или нет:
Код: vbnet
1.
Set xlsaFrom = getobject(currPathFrom)
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879055
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько вариантов:
Как проверить открыта ли книга?

Добавлю к советую Алексея: при использовании GetObject, надо понимать, что если книга не была открыта - то она откроется в скрытом режиме. И в зависимости от задачи надо учитывать этот момент и либо закрывать её потом принудительно, либо не забыть сохранить внесенные изменения.
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879074
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский,

спасибо, попробую. А при открытии в скрытом режиме, связи будут у нее обновляться?
Там большая модель внизу, не хотелось бы...
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879082
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

и кстати, если VBA понял, что книга с данным именем открыта, как мне сослаться на нее теперь?
Если раньше было:

xlsaFrom.Worksheets(sSheet).Range(sRange).Copy

то как мне теперь, после IsBookOpen, с нее данные забрать?
Спасибо
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879086
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

или так же, через getobject?
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879117
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S70,

если открыта:
Код: vbnet
1.
set xlsaFrom = Workbooks("имя_книги")


если закрыта:
Код: vbnet
1.
set xlsaFrom = Workbooks.open("полный_путь_к_книге")
...
Рейтинг: 0 / 0
Как узнать в VBA, что Excel-файл с заданным именем - открыт?
    #38879193
S70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

Ну да, собственно... Не сообразил )))
Но, все равно - спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать в VBA, что Excel-файл с заданным именем - открыт?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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