Dabei öffne ich nun keine Exceltabelle mit Open, sondern es soll nur eine gepeichert werden. Achtung, aus der IDE beim Debuggen wird die Tabelle nicht erstellt. Erst, wenn diese nach dem Compilieren ins Wunschverzeichnis ausgeführt wird, siehst du die dadurch erstellte Tabelle.
Compiliere bitte folgenden Source und starte diese Exe. Dann schau mal im Taskmanager, ob da was hängen bleibt. Bei mir ist alles ok.
Code: Alles auswählen
#xlUp=-4162
IncludePath #PB_Compiler_Home+"comate_pb4-3"
XIncludeFile "COMate.pbi"
Pfad.s=GetCurrentDirectory()+"MeinExcel.xls"; Datei die erstellt werden soll
Debug Pfad
Define.COMateObject ExcelObject, WorkBook,WorkSheet,myRange,answer
Define myRange.ComateObject
ExcelObject = COMate_CreateObject("Excel.Application")
If ExcelObject
ExcelObject\SetProperty("Application\DisplayAlerts = #False") ; Excel-Alerts ausschalten
;ExcelObject\SetProperty("Visible = #False"); Tabelle nicht sichbar öffnen
ExcelObject\SetProperty("Visible = #True"); Tabelle sichbar öffnen
;ExcelObject\Invoke("Workbooks\Open('"+Pfad+"\Test.xls')"); Wenn man eine bestehende Tabelle öffnen will, dann aufrufen.
WorkBook = ExcelObject\GetObjectProperty("Workbooks\Add")
ExcelObject\SetProperty("WorkSheets(1)\Name = 'ErsteTabelle'"); Tabelle1 mit Namen verzeichnen
ExcelObject\SetProperty("Cells(1,1) = 'Hello'")
ExcelObject\SetProperty("Cells(1,2) = 'from'")
ExcelObject\SetProperty("Cells(1,3) = 'COMate!'")
ExcelObject\SetProperty("Cells(" + Str(intRow) + ",14) = "+ Cell6$ + "")
ExcelObject\Invoke("ActiveWorkbook\SaveAs('"+Pfad+"')")
ExcelObject\Invoke("ActiveWorkbook\Close = #True")
;ExcelObject\Invoke("Workbooks\Saved = #True"); Wenn eine XLS geöffnet wurde, reicht dieses Save
ExcelObject\Invoke("Workbooks\Close")
ExcelObject\Invoke("Quit()")
ExcelObject\SetProperty("Application\DisplayAlerts = #True") ; Excel-Alerts wieder aktivieren
ExcelObject\Release()
Else
MessageRequester("COMate -Excel demo", "Couldn't create the application object!")
EndIf