Aus PB Excel-Datei mit mehreren Tabellenblättern erstellen?
was genau hakelt an der Zeile
fehlt´s schon am GetIDsOfNames, dann müßte schon vorher bei invoke
für pXlBookThatWasOpened ein Fehler ausgegeben werden
-> hr Invoke: irgendein Minuswert.
Wo genau kommt der erste Fehler?
Wenn die Arbeitsmappe garnicht angezeigt wird, ist der Fehler schon
ganz am Anfang beim Öffnen oder noch früher.
Dann müßten lauter "hr Invoke: -xyz..." ausgegeben werden
Code: Alles auswählen
pxlSheets.IDispatch = SetComObj(pXlBookThatWasOpened, "Worksheets", 0)
für pXlBookThatWasOpened ein Fehler ausgegeben werden
-> hr Invoke: irgendein Minuswert.
Wo genau kommt der erste Fehler?
Wenn die Arbeitsmappe garnicht angezeigt wird, ist der Fehler schon
ganz am Anfang beim Öffnen oder noch früher.
Dann müßten lauter "hr Invoke: -xyz..." ausgegeben werden
Betrifft: letztes gepostetes Beispiel
Hier die Fehlermeldung:
die Arbeitsmappe wird nicht angezeigt.
Hier die Fehlermeldung:
die Arbeitsmappe wird nicht angezeigt.
Zuletzt geändert von dysti am 23.01.2007 09:41, insgesamt 1-mal geändert.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
es handelt sich wohl um den Fehler EXCEPTION_ACCESS_VIOLATION
-> http://support.microsoft.com/kb/101774/en-us
Hilft aber so auch nicht weiter. Habe erst mal auch keine Idee...
Teste mal in der Procedure.l AutoWrap
statt
Glaube aber nicht, daß es daran liegt 
-> http://support.microsoft.com/kb/101774/en-us
Hilft aber so auch nicht weiter. Habe erst mal auch keine Idee...
Teste mal in der Procedure.l AutoWrap
Code: Alles auswählen
hr = *pDisp\Invoke(dispID, IID_NULL, #CLSCTX_ALL, autoTyp, @dp, @pvResult, @Exception, #Null)
Code: Alles auswählen
hr = *pDisp\Invoke(dispID, IID_NULL, #LOCALE_SYSTEM_DEFAULT, autoTyp, @dp, @pvResult, @Exception, #Null)

Also, ich habe eine ganz große Bitte an die Forum-Mitglieder mit Exel auf dem Rechner:
Könntet ihr das letzte Beispiel mal in eurer PB-IDE laden und ausprobieren.
Dazu müßt ihr allerdings auch den Wrapper auf Seite 2 mit einfügen.
Wie läuft es bei Euch. Wenn es läuft, könntet ihr dann mal die Exelversion mitteilen, z.B. Exel2000, evtl. PB-Version.
Vielleicht kommen wir so den Fehler auf der Spur.
Könntet ihr das letzte Beispiel mal in eurer PB-IDE laden und ausprobieren.
Dazu müßt ihr allerdings auch den Wrapper auf Seite 2 mit einfügen.
Wie läuft es bei Euch. Wenn es läuft, könntet ihr dann mal die Exelversion mitteilen, z.B. Exel2000, evtl. PB-Version.
Vielleicht kommen wir so den Fehler auf der Spur.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Hallo ,
wie gut, das PB auch auf einem USB-Stick läuft.
Bei Kumpels auf den Rechnern probiert.
Und jetzt kommt der Hammer:
Erstmal die gute Nachricht: das Beispiel läuft.
Die schlechte Nachricht: das Beispiel läuft nicht.
Jetzt wird der Hund in der Pfanne verrückt.
Also, das Beispiel mit PB 4.02 laufen gelassen.
Ergebnis: Fehler
das Beispiel unter 4.0 laufen lassen.
Ergebnis: es läuft
@schic: wieso läuft es unter 4.02 nicht?
wie gut, das PB auch auf einem USB-Stick läuft.
Bei Kumpels auf den Rechnern probiert.
Und jetzt kommt der Hammer:
Erstmal die gute Nachricht: das Beispiel läuft.
Die schlechte Nachricht: das Beispiel läuft nicht.
Jetzt wird der Hund in der Pfanne verrückt.
Also, das Beispiel mit PB 4.02 laufen gelassen.
Ergebnis: Fehler
das Beispiel unter 4.0 laufen lassen.
Ergebnis: es läuft
@schic: wieso läuft es unter 4.02 nicht?
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
@schic: wenn man ein Datum in Exel einträgt in der Form "21.04.07", dann formatiert Exel automatisch die Zelle. Man bekommt keine Standardformatierung der Zelle mit diesem Inhalt.
Es steht dieser Wert nun in dieser Zelle. Keine der beiden Funktionen liest den Inhalt, bzw. zeigt ihn an. Datumwerte sind nun aber üblich in einer Exeltabelle.
Wie bekommt man jetzt das Datum ausgelesen. Aber weiß man vorher, ob ein Datum dort drin steht?
Es steht dieser Wert nun in dieser Zelle. Keine der beiden Funktionen liest den Inhalt, bzw. zeigt ihn an. Datumwerte sind nun aber üblich in einer Exeltabelle.
Wie bekommt man jetzt das Datum ausgelesen. Aber weiß man vorher, ob ein Datum dort drin steht?
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
zu dem Datum auslesen kann ich Dir helfen.
Füge in Die Procedure XLGetCellsValue bei Select pvResult\vt
ein, dann bekommst Du ein schön formatiertes Datum in Textformat.
Siehe hierzu und für weiterführende Informationen
http://msdn2.microsoft.com/en-gb/library/ms221634.aspx
Warum der Code unter PB 4.02 nicht läuft weiß ich nicht
Ein Bug im Code oder in PB oder ...
Hat jemand eine Idee dazu, oder wie man das Problem eingrenzen könnte?
Füge in Die Procedure XLGetCellsValue bei Select pvResult\vt
Code: Alles auswählen
Case #VT_DATE
#VARIANT_NOUSEROVERRIDE = 4
hr = VariantChangeType_(pvResult, pvResult, #VARIANT_NOUSEROVERRIDE, #VT_BSTR)
If Not hr = #S_OK
Debug "error VariantChangeType_ hr: " + Str(hr)
EndIf
tmpText$ = Uni2Ansi(pvResult\bstrVal)
result = @tmpText$
Siehe hierzu und für weiterführende Informationen
http://msdn2.microsoft.com/en-gb/library/ms221634.aspx
Warum der Code unter PB 4.02 nicht läuft weiß ich nicht

Ein Bug im Code oder in PB oder ...
Hat jemand eine Idee dazu, oder wie man das Problem eingrenzen könnte?