|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2020, 11:42 | #1 |
Пользователь
Регистрация: 14.05.2014
Сообщений: 29
|
Запись в excel
Всем привет. Я щас задам глупый вопрос, но я не могу понять что не так делаю и может кто то поможет.
В общем у меня есть класс Код:
Код:
Так вот подскажите как закрыть его там? Я закрыл как мог и при запуске программы excel тоже открываю и от там закрывается как нужно, а при выходе из программы и сохранении данных он не закрывается. |
11.02.2020, 10:41 | #2 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
Написал в личные по запарке. Там смотри.
|
11.02.2020, 11:08 | #3 |
Пользователь
Регистрация: 14.05.2014
Сообщений: 29
|
Я посмотрел и ответ на твое сообщение
Это в заголовке private slots: void closeEvent(QCloseEvent *); //Автосохранение списка при выходе - событие closeEvent void zackritieexcel();//закрытие файла Excel А вызываю функцию void MainWindow::closeEvent(QCloseEvent *event) { zapisvfail(); zackritieexcel(); } а и даже если добавить скобки к close и quit не поменялось нечего. по прежнему висит в фоновых процессах. Последний раз редактировалось илья123456; 11.02.2020 в 11:12. Причина: дополнил |
11.02.2020, 11:35 | #4 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
Я не вижу уничтожение объекта класса exelauto.
У тебя закрытие и прочее происходит в деструкторе. Класс exelauto вроде никому не принадлежит, т.е. нет явного указания на родительский объект (т.е. при уничтожении MainWindow объект класса exelauto не обязан уничтожаться). Потому и спрашиваю, как создается объект и как убивается |
11.02.2020, 14:41 | #5 | |
Пользователь
Регистрация: 14.05.2014
Сообщений: 29
|
Цитата:
|
|
11.02.2020, 17:21 | #6 | |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
Цитата:
Косись в сторону версии Excel. Ну и несколько моментов: добавь m_excelApplication->dynamicCall( "SetInteractive(bool)", false ); убери или исправь на правильное m_StatSheet = m_sheets->querySubObject( "Item(const QVariant&)", QVariant("ActiveSheet") ); у sheets Item(номер) если же ActiveSheet использовать, то это свойство ExcelApplication IDispatch* ActiveSheet; В файлах сгененрированные доки по интерфейсам |
|
11.02.2020, 17:39 | #7 | |
Пользователь
Регистрация: 14.05.2014
Сообщений: 29
|
Цитата:
|
|
11.02.2020, 18:06 | #8 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
Да не за что.
Отпишись хоть. И пара лайфхаков. ты можешь генерить доки именно по твоей версии Excel. Это раз. Два - ты можешь отлавливать исключения ActiveX. В работе помогает. |
12.02.2020, 09:39 | #9 | |
Пользователь
Регистрация: 14.05.2014
Сообщений: 29
|
Цитата:
Код:
Ведь у меня это для просто для автосохранения данных и дальше не пойдет никуда, да и проще будет даже, а для обработки выходной информации у меня сделан другой запуск экселя где сохраняю уже в ручную. Код:
|
|
12.02.2020, 15:04 | #10 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
Я обычно в CSV или XML сохраняю.
Это удобней и универсальней нежели в Excel. Отрытые форматы, прочитать и перетащить можно где угодно и куда угодно |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы - Спроектировать и разработать классы Запись в блокноте и Блокнот. Реализовать методы: Добавить запись, Удалить запись, Редактировать запись | SashaRozhkov | Помощь студентам | 0 | 05.08.2017 19:16 |
запись excel | fcdk_pavel | Общие вопросы Delphi | 0 | 13.09.2013 10:11 |
Запись БД Acsess из Excel | Град | Microsoft Office Excel | 1 | 17.10.2008 12:38 |
запись в БД(*.MDB) из Excel VB | MUZDIE | Microsoft Office Excel | 1 | 18.01.2008 17:13 |
Запись в БД(*.MDB) из Excel VB | MUZDIE | Помощь студентам | 2 | 18.01.2008 12:58 |