|
|
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
BCB 6.0 Задача следующая: получать данные из Excell. Но вот прблема... Есть несколько окрытых приложений Excell из ОФИСА 2003. Как получить именно открытое сейчас (активное) приложение Excell (не путаем с книгами или листами в одном приложении) а не то, которое было открытым первым. Или как получить список этих приложений для далнейшего присвоения к Аpp Пользуюусь этим: try { Variant App=Variant::GetActiveObject("Excel.Application"); } catch(...) {;} Помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 16:33 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Приложение всегда одно. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 21:45 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
[quot Lelikk]Приложение всегда одно. /quot] :) Ну это понятно, что его видно. Хочу что-бы программа, активное в определенный момент приложение тоже видела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 00:55 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
LelikkПриложение всегда одноэто ты здорово придумал Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 06:38 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
LelikkПриложение всегда одно. В условии есть несколько окрытых приложений Excell... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 12:04 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас LelikkПриложение всегда одноэто ты здорово придумал Это не он придумал. Это Микрософт придумал :) Эксели некоторых версий пытаются вместо запуска новой копии приложения сделать новую рабочую книгу внутри уже запущенного приложения. Но это поведение различается в разных версиях, видимо Микрософты сами не решили что лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 18:19 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Чушь не надо нести. Количество открытых приложений Excell напрямыю зависит от того КАК их открывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 09:22 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Чушь не надо нести. Количество открытых приложений Excell напрямыю зависит от того КАК их открывать да понятно все это. но что делать если есть несколько окрытых приложений Excell? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:09 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Когда открываешь его запоминай в Variant, Получил лист - запомнил его. В этом случае тебя мало волнует какой жизнью живет Excell. Разьве-что его насильственно закроют :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:17 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Когда открываешь его запоминай в Variant, Получил лист - запомнил его. В этом случае тебя мало волнует какой жизнью живет Excell. Разьве-что его насильственно закроют :) Тоже вариант, но это прийдется присать какой - то сервис который отслеживает "поведение екселя в системе", а этого делать совсем не хочется... Проще сказать: надо получить список уже открытых екселей при запуске своего приложения. Может средствами самого Бейсика в экселе можно это сделать, чтобы получить ссылку на необходимй Excel.Application? Но что-то я этого найти не могу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:37 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Ну нафига тебе за ним следить ??? Ты работаешь со своим листом и ниипет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:45 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
klyapinBCB 6.0 Задача следующая: получать данные из Excell. Но вот прблема... Есть несколько окрытых приложений Excell из ОФИСА 2003. Как получить именно открытое сейчас (активное) приложение Excell (не путаем с книгами или листами в одном приложении) а не то, которое было открытым первым. Или как получить список этих приложений для далнейшего присвоения к Аpp Пользуюусь этим: try { Variant App=Variant::GetActiveObject("Excel.Application"); } catch(...) {;} Помогите! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код для Дельфи, но думаю суть ясна :) Если необходимо именно активное приложение, то вот тебе щастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:02 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Tov. Drujba Код для Дельфи, но думаю суть ясна :) Если необходимо именно активное приложение, то вот тебе щастье. Если Вы не заметили. то я написал то-же самое ( выглядит оно так try { Variant App=Variant::GetActiveObject("Excel.Application"); } catch(...) { try { App=Variant::CreateObject("Excel.Application"); } catch (...) {;} } для билдера, но счастья нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:54 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Ну нафига тебе за ним следить ??? Ты работаешь со своим листом и ниипет Да нет у меня проблем с листами и книгам есть проблема с приложениями! Приложений ексель несколько... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:57 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Если ты СМОЖЕШЬ различить эти приложения как пользователь, можешь также разчить их программно :) Если нет - то чего тебе об этом беспокоится ??? Скажи Оммммм и подыши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 14:09 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
klyapin Tov. Drujba Код для Дельфи, но думаю суть ясна :) Если необходимо именно активное приложение, то вот тебе щастье. Если Вы не заметили. то я написал то-же самое ( выглядит оно так try { Variant App=Variant::GetActiveObject("Excel.Application"); } catch(...) { try { App=Variant::CreateObject("Excel.Application"); } catch (...) {;} } для билдера, но счастья нет... Хм, у меня работало. А Ваш код не посмотрел. Извиняюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 14:30 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Если ты СМОЖЕШЬ различить эти приложения как пользователь, можешь также разчить их программно :) Если нет - то чего тебе об этом беспокоится ??? Скажи Оммммм и подыши в случае если приложений много код { Variant App=Variant::GetActiveObject("Excel.Application"); } catch(...) {;} возвращает ссылку на открытое первым приложение а не активное в настоящее время.... "Оммммм" + дышу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 14:30 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
А Вы сделайте ему Quit и поищите другое Продолжайте дышать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 14:42 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
klyapin, почитай вот здесь: http://support.microsoft.com/default.aspx?scid=kb;en-us;288902 Там описано как раз то, что ты хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 18:05 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Да не написано там чего он хочет. Он хочет по GetObject открывать не первый попавшийся Excell, а строго определенный. Причем как он его собирается строго определять он не говорит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 09:34 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Ага, теперь узрел Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 09:38 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Да не написано там чего он хочет. Он хочет по GetObject открывать не первый попавшийся Excell, а строго определенный. Причем как он его собирается строго определять он не говорит Я писал "Как получить именно открытое сейчас (активное) приложение Excell (не путаем с книгами или листами в одном приложении) а не то, которое было открытым первым. ". Я думаю, что это достаточно строгое определение (в некотором приблежении :) ). White Owlklyapin, почитай вот здесь: http://support.microsoft.com/default.aspx?scid=kb;en-us;288902 Там описано как раз то, что ты хочешь. + Gluk (Kazan)Ага, теперь узрел Код: plaintext огромное спасибо за ссылочку. по моему вопросу там пишется следующее: GetObject GetObject is used to attach to a running instance of an automation server. There are a few different ways to call GetObject, but the syntax that is recommended for the Microsoft Office applications is as follows: set xlApp = GetObject(, "Excel.Application") If an instance of Microsoft Excel is running when this code is executed, you have access to the running instance's object model through the xlApp variable. If no instance is running, you receive the following trappable run-time error message: Run-time error '429': ActiveX component can't create object If multiple instances of Microsoft Excel are running, GetObject attaches to the instance that is launched first. If you then close the first instance, another call to GetObject attaches to the second instance that was launched, and so forth. You can attach to a specific instance if you know the name of an open document in that instance. For example, if an instance of Excel is running with an open workbook named Book2, the following code attaches successfully to that instance even if it is not the earliest instance that was launched: Set xlApp = GetObject("Book2").Application В принципе меня это может устроить, однако есть еще вопрос как получить список workbоо-ков активных, (через список приложений в системе?) и что если есть несколько instance имеют одинаковые имена открытых workbook - ов? Я понимаю, что данные вопросы довольно непоняты ведь в основном используют импорт в ексель, однако у меня стоит задача экспорта из нескольких книг которые могут быть запущены также из нескольких приложений. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 13:21 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
klyapinчто если есть несколько instance имеют одинаковые имена открытых workbookСлушай, успокойся, нельзя объять необъятное :) (С) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 13:39 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
2 klyapin Обратись к разработчикам Excell :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 14:54 |
|
||
|
Окрытые приложения Excell
|
|||
|---|---|---|---|
|
#18+
klyapinВ принципе меня это может устроить, однако есть еще вопрос как получить список workbоо-ков активных, (через список приложений в системе?) и что если есть несколько instance имеют одинаковые имена открытых workbook - ов? Проще всего через функцию EnumWindows() получить список всех окон, выбрать из них те у которых заголовок начинается с "Microsoft Excel" Потом через FindWindowEx можешь составить список книг открытых в каждой из копий Экселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 17:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33330526&tid=2028160]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 510ms |

| 0 / 0 |
