Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Mary_Rustle
0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 11
1

VBA Access: как проверить, открыта ли данная книга Excel

24.09.2015, 11:47. Просмотров 1236. Ответов 6
Метки нет (Все метки)

Добрый день! Подскажите пожалуйста, как можно при помощи модуля VBA В Access проверить открыта ли заданная книга Excel? Все что могу найти, это только проверка из самого Экселя, а это совсем не то что нужно.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2015, 11:47
Ответы с готовыми решениями:

Как мне узнать открыта данная книга Excel или нет?
Два раза открываю Excel, например, через 'StartProgramsMicrosoft Excel'. В каждом из них открываю...

Как в Excel проверить, открыта ли книга?
Как через макросы проверить, открыта ли заданая книга в данный момент, и в каком режиме(read only...

Как проверить открыта ли книга если ей задана переменная (excel 2010)
При заданном условии (А, В, С) должна открыться определенная книга, задача проверить открыта ли она...

Проверить, открыта ли книга Excel
Как проверить, открыта ли книга Excel? Нужно иметь ввиду, что при этом книга (файл xls) может быть...

Как в экселе узнать открыта ли определённая книга?
Подскажите как в экселе узнать открыта ли определённая книга? Private Sub kn1_Click() 'Если...

6
CRIDEL
65 / 58 / 17
Регистрация: 03.05.2013
Сообщений: 348
24.09.2015, 17:20 2
Искать по названию нужный процесс при помощи апи, если процесс есть-значит открыта.
0
The_Prist
1311 / 290 / 65
Регистрация: 13.11.2008
Сообщений: 604
24.09.2015, 17:28 3
В общем-то а дальше что? Ну открыта. Вы как к ней обращаться планируете? Обратиться к Excel и проверить открыта ли книга вполне просто:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Function IsBookOpen(wbName As String) As Boolean
    Dim oExApp As Object
    Dim wbBook As Object
    On Error Resume Next
    Set oExApp = GetObject(, "Excel.Application")
    On Error GoTo 0
    If Err Then Exit Function
    
    Set wbBook = oExApp.Workbooks(wbName)
    IsBookOpen = Not wbBook Is Nothing
End Function
Другой вопрос в том сколько у Вас на этот момент может быть открытых экземпляров Excel. Если несколько - такой прием не сработает и надо будет реально через API опрашивать окна.
0
Mary_Rustle
0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 11
24.09.2015, 17:44  [ТС] 4
CRIDEL, спасибо, но не знаю, как это делать:
Цитата Сообщение от CRIDEL Посмотреть сообщение
Искать по названию нужный процесс при помощи апи
Поэтому нашла совершенно другое решение =)

Но все равно спасибо =)

Добавлено через 6 минут
The Prist, спасибо за приведенный код)
В планах было следующее:
Проверка открыта ли книга, нужна мне для того, чтобы правильно написать модуль vba в аксессе - без возникновения ошибок из-за повторного открытия данной книги. И да, книг может быть открыто много.
0
The_Prist
1311 / 290 / 65
Регистрация: 13.11.2008
Сообщений: 604
24.09.2015, 17:58 5
Цитата Сообщение от Mary_Rustle Посмотреть сообщение
книг может быть открыто много
Книг - это понятно. Я имел ввиду именно экземпляров. Это разные вещи. Т.е. если у Вас в диспетчере задач будет более одного процесса Excel - приведенный код проверит книги только в том экземпляре Excel(процессе), который был запущен первым.
0
Mary_Rustle
0 / 0 / 0
Регистрация: 29.05.2015
Сообщений: 11
24.09.2015, 18:10  [ТС] 6
The Prist, я поняла Вас, спасибо =) Да, экземпляров тоже может быть несколько, и не факт, что нужный нам будет первым.
0
CRIDEL
65 / 58 / 17
Регистрация: 03.05.2013
Сообщений: 348
24.09.2015, 18:22 7
FindWindow и FindWindowEx.
1
24.09.2015, 18:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2015, 18:22

Как вводить дату в БД Access из VBA for Excel?
Здавствуйте, ребята кто может подсказать как нужно вводить дату чтобы она в БД Access отображалась...

Как установить границы ячейки Excel из VBA (Access)
Задача: задать форматирование ячеек Excel, конкретно выделить все границы ячеек внутри диапазона...

Как установить пароль в Access через VBA Excel?
Доброго времени суток! Есть Excel'евская программы которая подключается к БД Access, все работает...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.