Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/20: Рейтинг темы: голосов - 20, средняя оценка - 4.60
PavelT100
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62
1

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

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

Два раза открываю Excel, например, через 'StartProgramsMicrosoft Excel'. В каждом из них открываю свои книги. Просматриваю коллекцию Workbooks в каждой из них. Так у меня в коллекции только одна книга. Как мне узнать обо всех открытых книгах? И как мне узнать открыта данная книга Excel или нет?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2008, 12:08
Ответы с готовыми решениями:

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

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

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

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

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

5
MoMoon
0 / 0 / 0
Регистрация: 04.11.2008
Сообщений: 55
05.11.2008, 11:32 2
Вроде надо сначала узнать запущен ли другой эксель, кроме текущего. Такие примеры есть в сети.
Можно (я так думаю, но практически никогда не делал и сам файл настроить (на открытие) , что бы он сам где-то отметку ставил, что мол открыт я уже разок в наружном файле каком-то (типа лога).
0
PaulC74
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 14:29 3
Пробуй так...(на Вижуал Васике)
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
PaulC74
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 14:56 4
Если не помагает предыдущий пример, то так...
Visual Basic
1
2
3
4
5
Dim xlApp as Object
 
On Error Goto err:
 
   set xlApp = GetObject(,'Excel.Application')
0
PaulC74
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 25
06.11.2008, 15:02 5
Если не помагает предыдущий пример, то так...
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
PavelT100
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62
17.11.2008, 12:54  [ТС] 6
Для PaulC74 - способ
Visual Basic
1
set xlApp = GetObject(,'Excel.Application')
хорош, но не до конца. Некоторые книги открытые он видит, некоторые нет.

Для MoMoon - в наружный файл писать, конечно, можно, можно даже писать в реестр, но это очень не надежно, если компьютер экстренно выключили или перезапустили с помощью Reset, то тогда начнутся проблемы. Файл (типа лога) останется с пометкой 'открыта книга'.
0
17.11.2008, 12:54
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2008, 12:54

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

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

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


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

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

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