7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 582
1

Закрыть не все Excel файлы открытые через Ole

12.11.2018, 16:28. Показов 1190. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте. С помощью Ole технологии я открываю несколько фалов Excel процедурой open
C++
1
2
3
4
5
Exelbegin=CreateOleObject("Excel.Application");
Books=Exelbegin.OlePropertyGet("Workbooks");
for(int exn=0;exn<exelnames.size();exn++){
Books.OleProcedure("Open",exelnames[exn].c_str());
}
Но если вручную закрыть один из открытых файлов (выбрать в панели задач нужный файл и нажать на крестик), то закрываются все файлы. Подскажите пожалуйста, почему так происходит и как нужно открывать эти файлы (Books), чтобы пользователь программы мог закрыть только один файл?

Добавлено через 1 час 1 минуту
Пробовал открывать методом ShellExecute(Handle,"open",exelnamen[exn].c_str(), NULL,NULL,SW_RESTORE);
Все равно при закрытие одного ексель файла закрываются все остальные открытые.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2018, 16:28
Ответы с готовыми решениями:

Настройки печати в Excel файлы через Ole (в один лист)
Здравствуйте. Нужно разместить таблицу на один лист. Нашел такой вариант решения...

Работа с Excel через OLE
Здравствуйте Использую C++ Builder 6, пытаюсь подключится к уже запущеному Excel приложению,...

Количество документов Excel через OLE
Здравствуйте. Использую OLE технологию по работе с Excel. Подключиться к книге по Item(пункту)...

Как распечатать все открытые файлы Excel?
Что-то типа этого, но не то :) Application.Worksheets.PrintOut Как правильно? Спасибо!

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32629 / 21096 / 8139
Регистрация: 22.10.2011
Сообщений: 36,362
Записей в блоге: 8
12.11.2018, 17:22 2
Версия Excel-я какая?
0
Модератор
8690 / 5739 / 2308
Регистрация: 21.01.2014
Сообщений: 24,605
Записей в блоге: 3
12.11.2018, 18:37 3

Не по теме:

Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
Все равно при закрытие одного ексель файла закрываются все остальные открытые.
Хм-м-м... Такое поведение было характерно для Excel 2000, в отличие от Word 2000, который поддерживал мультидокументный интерфейс...


nnnikotinnn995, ну дык для каждого файла xls(x) создавайте свой объект ExcelApplication - только и всего...
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
Пробовал открывать методом ShellExecute ... при закрытие одного ексель файла закрываются все остальные открытые.
Не воспроизвелось на МС Офис 2010/2013...
0
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 582
12.11.2018, 22:15  [ТС] 4
Цитата Сообщение от volvo Посмотреть сообщение
Версия Excel-я какая?
Office_2003_SP3_Full.
Цитата Сообщение от D1973 Посмотреть сообщение
Не воспроизвелось на МС Офис 2010/2013...
А на более ранних тоже все закрывается?
Вообще похоже Ole не очень дружит с с офисом на разных компах.При старте программы подключаю ворд и ексель, и если у юзеров пиратский виндоус - то при попытки что то вывести в ексель, ворд начинает просить зарегистрировать себя. После того как мы установили репакнутый офис на пиратскую винду -все заработало (винду не пришлось переустанавливать). Почему пиратский ворд открывается в ручном режиме, а при Ole функциях ругается на отсутствие лицензии?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32629 / 21096 / 8139
Регистрация: 22.10.2011
Сообщений: 36,362
Записей в блоге: 8
12.11.2018, 22:17 5
В 2003-ем что-то в настройках самого Экселя было, типа "открывать в новом окне" или в новом экземпляре.
Или в реестре надо было что-то подкручивать... Давно было, не помню уже...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2018, 22:17
Помогаю со студенческими работами здесь

Закрыть все открытые сессии
Добрый день. Есть сайт, где пользователи регистрируются, заходят на сайт и выходят. Сайт написан...

Word : Закрыть все открытые документы, кроме активного
11. Word : Закрыть все открытые документы, кроме активного.

Как быстро, сразу закрыть все открытые классы в Eclipse?
Как быстро, сразу закрыть все открытые классы в Eclipse?

Winamp не запоминает все открытые файлы
Winamp не хочет запоминать все файлы из открытой папки, приведу пример: У меня почти 3 тысячи...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru