Automation Error EXCEL
Moderator: Moderatoren
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Automation Error EXCEL
Hallo,
wenn ich bei der Erstellung einer EXCEL Tabelle währendessen in die Tabelle clicke, bekomme ich den folgenden Fehler. Wie kann ich das vermeiden ?
Grüsse
Rudolf
------------------------------------------------------------------------------
ERROR LOG of "V:\gastdebit\WWS.EXE" Date: 29-08-2007 14:26:04
Xbase++ version : Xbase++ (R) Version 1.90.331
Operating system : Windows XP 05.01 Build 02600 Service Pack 2
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Value
-> VALTYPE: N VALUE: 6
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : 0
oError:filename : NIL
oError:genCode : NIL
oError:operation : Value
oError:osCode : -2146777998
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 4
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from AUTOMATIONOBJECT:ONERROR(1037)
Called from ASCOMERROR:RAISE(308)
Called from ASCOMERROR:RAISEERROR(505)
Called from ASCOMERROR:RAISEONERROR(530)
Called from AUTOMATIONOBJECT:SETNOIVAR(913)
Called from UMSATZ_EXCEL(143)
Called from (B)SYSSTART(0)
DBE Component Data BFDBE
DBE Component Order:CDXDBE
wenn ich bei der Erstellung einer EXCEL Tabelle währendessen in die Tabelle clicke, bekomme ich den folgenden Fehler. Wie kann ich das vermeiden ?
Grüsse
Rudolf
------------------------------------------------------------------------------
ERROR LOG of "V:\gastdebit\WWS.EXE" Date: 29-08-2007 14:26:04
Xbase++ version : Xbase++ (R) Version 1.90.331
Operating system : Windows XP 05.01 Build 02600 Service Pack 2
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Value
-> VALTYPE: N VALUE: 6
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : 0
oError:filename : NIL
oError:genCode : NIL
oError:operation : Value
oError:osCode : -2146777998
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 4
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from AUTOMATIONOBJECT:ONERROR(1037)
Called from ASCOMERROR:RAISE(308)
Called from ASCOMERROR:RAISEERROR(505)
Called from ASCOMERROR:RAISEONERROR(530)
Called from AUTOMATIONOBJECT:SETNOIVAR(913)
Called from UMSATZ_EXCEL(143)
Called from (B)SYSSTART(0)
DBE Component Data BFDBE
DBE Component Order:CDXDBE
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Hallo Alfred,
danke für den Tip, wäre aber schöner wenn der Kunde sieht was vorgeht, ist sehr langsam der Ganze Aufbau.
Grüsse
Rudolf
danke für den Tip, wäre aber schöner wenn der Kunde sieht was vorgeht, ist sehr langsam der Ganze Aufbau.
Grüsse
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
Hallo Rudolf,
wie viele Seiten werden denn da angelegt?
Alter Rechner?
Auf einem modernen Rechner gibt es eigentlich keine großen Performanceprobleme.
Ansonsten normale Oberfläche mit Progressbar und dann erst öffnen.
Wenn es schnell gehen muß, würde ich Turbo Delphi 2006 für den
Excelzugriff zum Vergleich probieren. Der Kunde sieht davon ja nichts.
Gruß
Alfred
wie viele Seiten werden denn da angelegt?
Alter Rechner?
Auf einem modernen Rechner gibt es eigentlich keine großen Performanceprobleme.
Ansonsten normale Oberfläche mit Progressbar und dann erst öffnen.
Wenn es schnell gehen muß, würde ich Turbo Delphi 2006 für den
Excelzugriff zum Vergleich probieren. Der Kunde sieht davon ja nichts.
Gruß
Alfred
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Hallo Alfred,
das mit der Geschwindikeit geht schon ok, notfalls nehm ich SQLEXPRESS dazu her, da geht es schneller
Grüsse
Rudolf
das mit der Geschwindikeit geht schon ok, notfalls nehm ich SQLEXPRESS dazu her, da geht es schneller
Grüsse
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo allerseits,
Excel ist beim Aufbau immer langsam, wenn es sichtbar ist - ist bei den eigenen Makros auch nicht anders!
Ich habe früher beim Programmieren unter Excel die Aktualisierung am Anfang meiner Makros/Programme immer abgeschaltet, dann alles berechnet und akkumuliert und zum Schluß die Anzeige wieder angeschaltet. Unterschied:
Beim Laufen mit Anzeige ca. 5 Minuten, beim Laufen ohne ca. 15 Sekunden!
Viele Grüße,
Martin
Excel ist beim Aufbau immer langsam, wenn es sichtbar ist - ist bei den eigenen Makros auch nicht anders!
Ich habe früher beim Programmieren unter Excel die Aktualisierung am Anfang meiner Makros/Programme immer abgeschaltet, dann alles berechnet und akkumuliert und zum Schluß die Anzeige wieder angeschaltet. Unterschied:
Beim Laufen mit Anzeige ca. 5 Minuten, beim Laufen ohne ca. 15 Sekunden!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Hallo Rudolf,
habe einiges verändert. Bei mir läuft das Programm.
Bitte zu bedenken, dass ist alles try and error.
Gruß
Alfred
habe einiges verändert. Bei mir läuft das Programm.
Code: Alles auswählen
#include "activex.ch"
#include "excel.ch"
PROCEDURE MAIN()
LOCAL oExcel, oWorkbook, oSheet, oChart
//oExcel besser(siehe auch Fehler am Ende)
oExcel := CreateObject( "Excel.Application" )
// mir fehlt wmeld
//IF NIL == oApp
//wmeld("EXCEL konnte nicht geöffnet werden",4)
//* ? "Error: ", ComLastError()
//* ? "Description:"
//* ? ComLastMessage()
//ELSE
oExcel:visible := .T. // siehe auch Hinweis von Martin
oWorkbook = oExcel:Workbooks:Add() //oWorkbook besser zum Suchen
oSheet := oWorkbook:Worksheets(1) //Referenz auf das 1. Worksheet
oSheet:name := 'Spartenumsaetze' //Name erst nach Referenz gesetzt
oSheet:Columns('A'):ColumnWidth := 14
oSheet:Columns('B'):ColumnWidth := 7
oSheet:Columns('C'):ColumnWidth := 7
oSheet:Columns('D'):ColumnWidth := 7
oSheet:Columns('E'):ColumnWidth := 7
oSheet:Columns('F'):ColumnWidth := 7
oSheet:Columns('G'):ColumnWidth := 7
oSheet:RANGE('A1:H1'):Font:Bold := .T.
oSheet:Columns('B'):NumberFormat := "#0,00"
oSheet:Columns('D'):NumberFormat := "#0,00"
oSheet:Columns('D'):NumberFormat := "#0,00"
oSheet:Columns('E'):NumberFormat := "#0,00"
oSheet:Columns('F'):NumberFormat := "#0,00"
oSheet:Columns('G'):NumberFormat := "#0,00"
oSheet:Range( "A1:G1" ):Interior:ColorIndex := 15
oSheet:Cells(1,1):Value := 'Sparte ' //bei mir funktioniert nur cells oSheet:Cells(1,2):Value := 'Anzahl '
oSheet:Cells(1,3):Value := 'Storno'
oSheet:Cells(1,4):Value := 'Guts.'
oSheet:Cells(1,5):Value := 'Verk.'
oSheet:Cells(1,6):Value := 'Preis'
oSheet:Cells(1,7):Value := 'Umsatz'
for x := 1 to 5
//oSheet:cells(x+1,1):Value := aSparten[x,1]
//oSheet:Cells(x+1,2):Value := aSparten[x,2]
//oSheet:Cells(x+1,3):Value := aSparten[x,3]
//oSheet:Cells(x+1,4):Value := aSparten[x,4]
//oSheet:Cells(x+1,5):Value := aSparten[x,5]
//oSheet:Cells(x+1,6):Value := aSparten[x,6]
oSheet:Cells(x+1,7):Value := 1000*x // für Testzwecke
next x
//Add(Left,Top,Height,Width)
oChart := oSheet:ChartObjects:Add(350,50,320,190)
ochart:Activate
oExcel:ActiveChart:SetSourceData(oSheet:Range('G2:G21')) //oExcel!!!!!
RETURN
Gruß
Alfred
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Hallo Alfred,
vielen Dank, läuft super !
Ich hätte die komplette Beschreibung für EXCEL aus JAZZE, da wäre alles detailliert aufgeführt was möglich ist, wenn es jemand braucht, kann ich es per Email schicken.
Grüsse
Rudolf
vielen Dank, läuft super !
Ich hätte die komplette Beschreibung für EXCEL aus JAZZE, da wäre alles detailliert aufgeführt was möglich ist, wenn es jemand braucht, kann ich es per Email schicken.
Grüsse
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Hallo Alfred
habs auf meinem Server gestellt unter
www.c-tec-at/xbase/excel.prg
www.c-tec-at/xbase/excel.ch
leider geht nur das Beispiel, in meinem Code muss noch ein Fehler sein, Chartobjects wird nicht erkannt.
Grüsse
Rudolf
habs auf meinem Server gestellt unter
www.c-tec-at/xbase/excel.prg
www.c-tec-at/xbase/excel.ch
leider geht nur das Beispiel, in meinem Code muss noch ein Fehler sein, Chartobjects wird nicht erkannt.
Grüsse
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
Hallo Rudolf,
ich habe deinen Code genommen und diesen an mehreren Stellen ab-
geändert. Hast du diese Änderungen schon nachvollzogen? Siehe auch
meine Randbemerkungen. Habe morgen eine längere Reise vor mir. Würde
dann die Änderungen noch dokumentieren. Hatte dazu leider heute keine
Zeit mehr.
Gruß
Alfred
ich habe deinen Code genommen und diesen an mehreren Stellen ab-
geändert. Hast du diese Änderungen schon nachvollzogen? Siehe auch
meine Randbemerkungen. Habe morgen eine längere Reise vor mir. Würde
dann die Änderungen noch dokumentieren. Hatte dazu leider heute keine
Zeit mehr.
Gruß
Alfred
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Hallo Alfred,
waren nur ein paar Kleinigkeinigkeiten, aber für mich unverständlich. Hier der Code der funktioniert bei mir:
waren nur ein paar Kleinigkeinigkeiten, aber für mich unverständlich. Hier der Code der funktioniert bei mir:
Code: Alles auswählen
IF cXls2Open == NIL
// Start Excel
oExcel := CreateObject( "Excel.Application" )
IF NIL == oExcel
wmeld("EXCEL konnte nicht geöffnet werden",4)
ELSE
oExcel:visible := .T. // i want to see something
// If there is a problem, don't let excel pop up messages
oExcel:Application:DisplayAlerts := .F.
// Create a workbook from scratch
oExcel:Application:Workbooks:new()
oWorkbook = oExcel:Workbooks:Add() //oWorkbook besser zum Suchen
oSheet := oWorkbook:Worksheets(1) //Referenz auf das 1. Worksheet
// Office 97 Excel creates 3 worksheets by default
// Delete 2 of them
// Make the first one active
oExcel:Application:Worksheets(1):name:='Spartenumsätze'
//oSheet := oExcel:Worksheets(1):cells
oSheet:Columns('A'):ColumnWidth := 14
oSheet:Columns('B'):ColumnWidth := 7
oSheet:Columns('C'):ColumnWidth := 7
oSheet:Columns('D'):ColumnWidth := 7
oSheet:Columns('E'):ColumnWidth := 7
oSheet:Columns('F'):ColumnWidth := 7
oSheet:Columns('G'):ColumnWidth := 7
oSheet:RANGE('A1:H1'):Font:Bold := .T.
oSheet:Columns('B'):NumberFormat := "#0,00"
oSheet:Columns('D'):NumberFormat := "#0,00"
oSheet:Columns('D'):NumberFormat := "#0,00"
oSheet:Columns('E'):NumberFormat := "#0,00"
oSheet:Columns('F'):NumberFormat := "#0,00"
oSheet:Columns('G'):NumberFormat := "#0,00"
oSheet:Range( "A1:G1" ):Interior:ColorIndex := 15
oSheet:cells(1,1):Value := 'Sparte'
oSheet:cells(1,2):Value := 'Anzahl '
oSheet:cells(1,3):Value := 'Storno'
oSheet:cells(1,4):Value := 'Guts.'
oSheet:cells(1,5):Value := 'Verk.'
oSheet:cells(1,6):Value := 'Preis'
oSheet:cells(1,7):Value := 'Umsatz'
for x := 1 to len(aSparten)
oSheet:cells(x+1,1):Value := aSparten[x,1]
oSheet:cells(x+1,2):Value := aSparten[x,2]
oSheet:cells(x+1,3):Value := aSparten[x,3]
oSheet:cells(x+1,4):Value := aSparten[x,4]
oSheet:cells(x+1,5):Value := aSparten[x,5]
oSheet:cells(x+1,6):Value := aSparten[x,6]
oSheet:cells(x+1,7):Value := aSparten[x,7]
next x
oChart := oSheet:ChartObjects:Add(350,50,320,190)
ochart:Activate
oExcel:ActiveChart:SetSourceData(oSheet:Range('G2:G21'))
oExcel:application:workbooks(1):saveas(addpath(al_path,'export\umsatz.xls'))
oExcel:Application:Quit()
oExcel:Quit()
oExcel:destroy()
ENDIF
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Hans Zethofer
- Rekursionen-Architekt
- Beiträge: 278
- Registriert: Fr, 27. Jan 2006 8:29
- Wohnort: 2700 Wiener Neustadt
- Hat sich bedankt: 1 Mal
- Kontaktdaten:
Hallo Rudolf,
ich wäre an der kompletten Beschreibung für Excel interessiert.
Kannst du Sie mir zumailen
Danke
Mein Problem
Suche eine Möglichkeit aus einer Excel-Tabelle eine speziell farbig markierte Zelle
herauszufinden und die Info wegzuschreiben. Diese Zelle dient als Wert, es ist aber keinerlei Wert enthalten (eben nur die Farbmarkierung)
Unter VB soll es mit Range("A1").Interior.ColorIndex gehen.
Wie könnte man das in xbase lösen?
hat irgendjemand so ein Problem schon mal gelöst?
Lg
Hans
ich wäre an der kompletten Beschreibung für Excel interessiert.
Kannst du Sie mir zumailen
Danke
Mein Problem
Suche eine Möglichkeit aus einer Excel-Tabelle eine speziell farbig markierte Zelle
herauszufinden und die Info wegzuschreiben. Diese Zelle dient als Wert, es ist aber keinerlei Wert enthalten (eben nur die Farbmarkierung)
Unter VB soll es mit Range("A1").Interior.ColorIndex gehen.
Wie könnte man das in xbase lösen?
hat irgendjemand so ein Problem schon mal gelöst?
Lg
Hans
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Hans,
im Prinzip solltest Du das komplett 1 zu 1 so umsetzen können:
Aus
wird dann
- wie im übrigen auch Rudolf in seinem Codebeispiel stehen hat.
Viele Grüße,
Martin
im Prinzip solltest Du das komplett 1 zu 1 so umsetzen können:
Aus
Code: Alles auswählen
Range("A1").Interior.ColorIndex
Code: Alles auswählen
oSheet:Range( "A1" ):Interior:ColorIndex
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Hans Zethofer
- Rekursionen-Architekt
- Beiträge: 278
- Registriert: Fr, 27. Jan 2006 8:29
- Wohnort: 2700 Wiener Neustadt
- Hat sich bedankt: 1 Mal
- Kontaktdaten:
Hallo
ich hätte mir erwartet einen Nummerncode oder die Farbe der Zelle im Klartext
wer hat eine Beschreibung aller möglichen Functionen die man ausführen kann die er mir auch zukommen lassen kann?
lg
Hans
bringt zwar keine Fehlermeldung aber auch keinen RückgabewertxRet:=oSheet:Range( "A1" ):Interior:ColorIndex
ich hätte mir erwartet einen Nummerncode oder die Farbe der Zelle im Klartext
wer hat eine Beschreibung aller möglichen Functionen die man ausführen kann die er mir auch zukommen lassen kann?
lg
Hans
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
- Hans Zethofer
- Rekursionen-Architekt
- Beiträge: 278
- Registriert: Fr, 27. Jan 2006 8:29
- Wohnort: 2700 Wiener Neustadt
- Hat sich bedankt: 1 Mal
- Kontaktdaten:
danke, für die Info zum Hilfe-File
war zwar nicht bei mir installiert (nur andere Hilfen zu Office), habe es aber im WEB gefunden
mit
lg
Hans
war zwar nicht bei mir installiert (nur andere Hilfen zu Office), habe es aber im WEB gefunden
mit
kann man die Zellenfarbe zwar setzen (Rot), aber wie kann man die aktuelle Zellenfarbe auslesen. Hat jemand einen Tipp?oSheet:Range( "A1" ):Interior:ColorIndex = 3
lg
Hans
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo,
die Installation der VBA Hilfen stehen standardmäßig auf 'Installieren bei erster Benutzung', somit wird diese im Prinzip über den Macroeditor des jeweiligen Programmes installiert, oder
1. man ruft selbst SETUP auf und
2. wählt 'Features hinzufügen'
3. Klick in 'Erweiterte Anpassungen von Anwendungen'
4. 'Gemeinsam genutzte Office Features'
5. 'Visual Basic für Applikationen'
6. 'Visual Basic Hilfe' auf immer installieren setzen
7. 'Aktualisieren' ... und fertig.
Ich habe es gerade mal bei Office 2003 gemacht
die Installation der VBA Hilfen stehen standardmäßig auf 'Installieren bei erster Benutzung', somit wird diese im Prinzip über den Macroeditor des jeweiligen Programmes installiert, oder
1. man ruft selbst SETUP auf und
2. wählt 'Features hinzufügen'
3. Klick in 'Erweiterte Anpassungen von Anwendungen'
4. 'Gemeinsam genutzte Office Features'
5. 'Visual Basic für Applikationen'
6. 'Visual Basic Hilfe' auf immer installieren setzen
7. 'Aktualisieren' ... und fertig.
Ich habe es gerade mal bei Office 2003 gemacht
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Ich meinte jetzt nicht den MacroRecorder, sondern den VBA Editor und dort mit F1 auf Hilfe - zumindest vermute ich, dass dann die CD zur Installation der Hilfedatei angefordert wird. Ich habe diese wie oben beschrieben aber auch direkt installiert.Koverhage hat geschrieben: bloß manchmal funktionieren die Sachen vom Recorder nicht so.
Gruß
Hubert
Hubert