Форум сайта python.su
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png) 
			 
							 0
  0   
								
								1. Создал контейнер
Workbook = QAxContainer.QAxWidget(…)
2. Установил в нем  excel.workbook контролл
Workbook.setControl(…)
При этом как фоновый процесс(Com server) запустился EXCEL.EXE
и он не завершается после выхода из Python QT приложения
? как выгрузить  связанный  EXCEL.EXE
Офлайн
 
							 0
  0   
								
								ау python-гуру
Офлайн
 
							 72
  72   
								
								Попробуйте Workbook = None
Отредактировано PooH (Апрель 21, 2015 10:23:41)
Офлайн
 
							 0
  0   
								
								
 Workbook.Close Workbook= None
не помогает
Офлайн
 
							 72
  72   
								
								Остается где-то ссылка на COM-объект. Если кинете минимальный пример воспроизводящий проблему, то покопаю
Офлайн
 
							 0
  0   
								
								Завтра скину(если вы не против).Сейчас занят другим
Офлайн
 
							 0
  0   
								
								# coding=utf-8
import sys
from PyQt4 import QtGui,QtCore, uic
import datetime,time
class TestForm(QtGui.QMainWindow):
    
    def __init__(self, parent=None):
        # Запускаем родительский конструктор
        super(TestForm, self).__init__(parent)
        # Загружаем форму “на лету”
        self.ui = uic.loadUi(“mainwindow.ui”,self)        
        self.ui.axWidget.setControl(“{00020820-0000-0000-C000-000000000046}”)      
    def closeEvent(self, event):
        reply = QtGui.QMessageBox.question(self, ‘Message’,
            “Желаете завершить работу ?”, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
        if reply == QtGui.QMessageBox.Yes:
            self.ui.axWidget.dynamicCall('Close(bool)',False)
            self.ui.axWidget.dynamicCall('Close()')
            self.ui.axWidget = None
            event.accept()
        else:
            event.ignore()
if __name__ == “__main__”:
    ###QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('CDE'))
    app = QtGui.QApplication(sys.argv)
    myapp = TestForm()
    myapp.show()
    sys.exit(app.exec_())
Прикреплённый файлы:  mainwindow.ui (4,3 KБ)
 mainwindow.ui (4,3 KБ)
Офлайн
 
							 72
  72   
								
								Срочно в командировку уезжаю, посмотрю не раньше понедельника
Офлайн
 
							 0
  0   
								
								подожду
Офлайн
 
							 72
  72   
								
								Почему не закрывается я вроде понял, но до работающего кода пока не дошел, слишком уж давно с этим не работал. Насколько я понимаю, когда вы создаете 00020820-0000-0000-C000-000000000046 - это Worksheet в екселе, автоматом создаются Worbook и Application. Надо видимо до них добраться и закрыть.
Офлайн
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png)