Управление кокретным экземпляром другого приложения

Программирование на Visual Basic for Applications
konev
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 28.10.2006 (Сб) 17:11
Откуда: Новосибирск

Управление кокретным экземпляром другого приложения

Сообщение konev » 17.11.2006 (Пт) 15:46

Пусть открыты несколько экземпляров Екселя.
Если выполнить например в ПП такой код:
Код: Выделить всё

Dim bb As Excel.Application
Sub vv()
  Set bb = Excel.Application
End Sub

то откроется новый экземпляр Excel. При этом при повторном выполнение того же кода в bb передаваться будет тот же самый экземпляр. А как заполучить конкретный экземпляр Екселя с данным hwnd (из тех, что уже открыты)?

Tanya
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 03.03.2004 (Ср) 21:41
Откуда: Беларусь, Минск

Сообщение Tanya » 24.11.2006 (Пт) 0:39

Set bb = GetObject(, "Excel.Application")

но, наверно, bb - первый повпавшийся Excel,
причем, если ни одного открытого не будет,
то будет ошибка

как вариант перебрать все открытые окна :-)

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 24.11.2006 (Пт) 8:23

А какой вообще смысл в запуске нескольких экземпляров Экселя?
подписи нет и не будет

konev
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 28.10.2006 (Сб) 17:11
Откуда: Новосибирск

Сообщение konev » 24.11.2006 (Пт) 9:17

inq писал(а):А какой вообще смысл в запуске нескольких экземпляров Экселя?

Смысла особого нет, но так часто случается, потому что нажать иконку на панеле быстрого запуска обычно проще всего :)

2 Tanya
Спасибо!
А что значит перебрать все открытые окна?

inq
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 185
Зарегистрирован: 12.04.2006 (Ср) 7:50
Откуда: 78

Сообщение inq » 24.11.2006 (Пт) 11:57

konev
если макрос должен сам открывать эксель, то CreateObject, либо вариант из первого поста, если из уже открытого - GetObject. А выдумывать некорректные ситуации не стоит.
подписи нет и не будет


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 112

    TopList