Allerdings wird bei jeder empfangenen Zeile die xls-Datei ge├Âffnet/geschlossen. Ich wollte nun das ├Âffnen der Datei in die Start-Routine des Plugins verlegen. Da ist dann das Problem. Ich finde den richtigen Weg nicht. Beim schreiben kommt dann immer die Meldung, das die Funtkion cells nicht existiert.
Hat da jemand ne L├Âsung f├╝r mich?
So gehts:
Code: Select all
def HandleChar(self, ch):
self.buffer += ch
pos = self.buffer.find(self.terminator)
if pos != -1:
eventstring = self.buffer[:pos]
if eventstring:
self.TriggerEvent(self.decoder(eventstring)[0])
#----- topix -----
self.xlApp = win32com.client.Dispatch("Excel.Application")
self.xlApp.Workbooks.Open(r"F:\XL-Test.xls")
self.xlApp.Visible = 1
self.ws = self.xlApp.ActiveSheet
self.ws.cells(5,2).Value = "Excel-Test"
self.xlApp.ActiveWorkbook.Close(SaveChanges=1)
#----- topix -----
self.buffer = self.buffer[pos+len(self.terminator):]
Code: Select all
def __start__( ...
#----- topix -----
self.xlApp = win32com.client.Dispatch("Excel.Application")
self.xlApp.Workbooks.Open(r"F:\XL-Test.xls")
self.xlApp.Visible = 1
self.ws = self.xlApp.ActiveSheet
#----- topix -----
...
def __stop__(self):
....
self.xlApp.ActiveWorkbook.Close(SaveChanges=1)
...
def HandleChar(self, ch):
self.buffer += ch
pos = self.buffer.find(self.terminator)
if pos != -1:
eventstring = self.buffer[:pos]
if eventstring:
self.TriggerEvent(self.decoder(eventstring)[0])
#----- topix -----
self.ws.cells(5,2).Value = "Excel-Test"
#----- topix -----
self.buffer = self.buffer[pos+len(self.terminator):]