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

Как мне узнать открыта данная книга Excel или нет?

27.10.2008, 12:08. Показов 6438. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Два раза открываю Excel, например, через 'StartProgramsMicrosoft Excel'. В каждом из них открываю свои книги. Просматриваю коллекцию Workbooks в каждой из них. Так у меня в коллекции только одна книга. Как мне узнать обо всех открытых книгах? И как мне узнать открыта данная книга Excel или нет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2008, 12:08
Ответы с готовыми решениями:

VBA Access: как проверить, открыта ли данная книга Excel
Добрый день! Подскажите пожалуйста, как можно при помощи модуля VBA В Access проверить открыта ли заданная книга Excel? Все что могу найти,...

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

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

5
0 / 0 / 0
Регистрация: 04.11.2008
Сообщений: 55
05.11.2008, 11:32
Вроде надо сначала узнать запущен ли другой эксель, кроме текущего. Такие примеры есть в сети.
Можно (я так думаю, но практически никогда не делал и сам файл настроить (на открытие) , что бы он сам где-то отметку ставил, что мол открыт я уже разок в наружном файле каком-то (типа лога).
0
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 14:29
Пробуй так...(на Вижуал Васике)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim wkb as WorkBook, bFlag as Boolean
 
For Each wkb in Application.WorkBooks
      If wkb.Name = '{имя книги(файла)}' Then
            bFlag = True
      End If
Next wkb
 
If bFlag Then
...{Если открыта книга, делаем что-то}
Else
    Msgbox 'Файл ' & {Пишем имя книги} & ' isn't open' & vbcr & 'Best regards!'
EndIf
0
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 14:56
Если не помагает предыдущий пример, то так...
Visual Basic
1
2
3
4
5
Dim xlApp as Object
 
On Error Goto err:
 
   set xlApp = GetObject(,'Excel.Application')
0
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 15:02
Если не помагает предыдущий пример, то так...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function f_checkBook() as Boolean
Dim xlApp as Object, bFlag as Boolean
 
On Error Goto err:
 
   set xlApp = GetObject(,'Excel.Application')
   if Not xlApp Is Nothing Then
      for Each wkb In xlApp.WorkBooks
          if wkb.Name = '{имя}' Then
               bFlag= True
               Exit For
          Endif
      Next
   End If
   f_checkBook = bFlag
   Exit Function
 
err:
    Msgbox err.Description,vbCritical,err.Number
    err.Clear
End Function
Если есть ошибки, извени - писал очень быстро
0
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62
17.11.2008, 12:54  [ТС]
Для PaulC74 - способ
Visual Basic
1
set xlApp = GetObject(,'Excel.Application')
хорош, но не до конца. Некоторые книги открытые он видит, некоторые нет.

Для MoMoon - в наружный файл писать, конечно, можно, можно даже писать в реестр, но это очень не надежно, если компьютер экстренно выключили или перезапустили с помощью Reset, то тогда начнутся проблемы. Файл (типа лога) останется с пометкой 'открыта книга'.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2008, 12:54
Помогаю со студенческими работами здесь

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

null и undefined ? Как мне узнать определина ли переменная или нет ?
Народ, ПОМОГИТЕ разобратьься с понятиями null и undefined Как можно пользовать null япримерно понимаю, но как мне узнать определина ли...

Как в VB узнать открыт Excel или нет?
Как в VB узнать открыт Excel или нет, если открыт, то необходимо просто обратиться к нему, если наоборот, то создать объект. Сапасибо.

Как узнать - пустая ячейка или нет на листе Excel
если ячейка В2 пустая записываю данные в нее если не пустая то переход на В3 и так далее до В25

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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