Seite 15 von 18

Re: ExcelFunktionen COMatePlus

Verfasst: 09.12.2015 21:39
von Lord
Kiffi hat geschrieben:...
oh, ich musste gar nicht wuseln. Dein Code läuft bei mir (Excel 2003) problemlos durch. Kein IMA bei XLSFunc_GetLastRow().
...
:o
Falko hat geschrieben: ...
Ebenfalls kein IMA
...
:o
Und nu???
Kann die Excel-Version hier relevant sein? Bei mir läuft Excel 2002 (10.2614.2625).

Egal, dann nehme ich erstmal meinen würgaround.

Danke für die Hilfe.

Re: ExcelFunktionen COMatePlus

Verfasst: 09.12.2015 22:43
von Kiffi
Lord hat geschrieben:Kann die Excel-Version hier relevant sein?
Möglich ist alles...

Der Vollständigkeit halber hier noch erwähnt: Excel 2007 -> ebenfalls keine Probleme.

Du verwendest die von Falko im Startposting verlinkte korrigierte COMate-Version für PB5.4+, oder?

Grüße ... Peter

Re: ExcelFunktionen COMatePlus

Verfasst: 10.12.2015 19:11
von Lord
Kiffi hat geschrieben:...
Du verwendest die von Falko im Startposting verlinkte korrigierte COMate-Version für PB5.4+, oder?
...
Nein.

Ich habe/hatte sie benutzt, aber damit keinen Erfolg gehabt:

Code: Alles auswählen

XIncludeFile "...\ExcelFunktion.pbi"; hier aktuellen Pfad einfügen

Debug "TestExcel()"
Define oApplication.COMateObject
oApplication = COMate_CreateObject("Excel.Application")
If oApplication
  Debug "Excel found"
  oApplication\Invoke("Quit")
  oApplication\Release() 
Else
  Debug "No Excel found"
EndIf
meldet mir "No Excel found".
Ich war deshalb wieder auf die älteren Versionen von COMate(Plus) und
ExcelFunctions zurüchgekehrt, weil damit alle von mir benötigten
Funktionen liefen.
Trotzdem habe ich mir eben nochmal die neueren Dateien herunter-
geladen und damit meinen Code laufen lassen. Ergebnis: Excel wird
nicht gefunden.
Vielleicht als zusätzliche Infofrmation noch dieses:
Ich speichere meinen Sourcecode als "reinen Text" und kompiliere
nicht in Unicode (wg. IMA bei SysFreeString()).
Welche "ExcelConstants.pbi" ist eigentlich die aktuelle/richtige?
Im Paket "COMatePlus 1.2 für PB5.40LTS" ist eine andere als die,
welche bei den ExcelFunktionen verlinkt ist.

Re: ExcelFunktionen COMatePlus

Verfasst: 10.12.2015 19:59
von - chris -
Das Funktioniert bei mir nur mit Unicode

Re: ExcelFunktionen COMatePlus

Verfasst: 10.12.2015 20:03
von Kiffi
Lord hat geschrieben:Ergebnis: Excel wird nicht gefunden.
das ist bei meinem Rechner zu Hause auch der Fall. Hier muss ich "Excel.Application.12" angeben.

Du kannst Dir ja mal den ActiveXHelper von Nir Sofer herunterladen, starten und schauen, was bei Dir eingetragen ist:

Bild

Grüße ... Peter

Re: ExcelFunktionen COMatePlus

Verfasst: 10.12.2015 23:26
von Falko
Lord hat geschrieben:Welche "ExcelConstants.pbi" ist eigentlich die aktuelle/richtige?
Die größere mit ca. 60Kb ist die aktuellere. Die Im Ordner ...LTS sollte eigentlich dort nicht vorhanden sein.
Diese ist eh eine kleinere bzw. hat viel weniger Konstanten.

Gruß, Falko

Re: ExcelFunktionen COMatePlus

Verfasst: 11.12.2015 09:56
von Lord
Ein Dank an alle Helfer!

@Kiffi
Kiffi hat geschrieben:...
das ist bei meinem Rechner zu Hause auch der Fall. Hier muss ich "Excel.Application.12" angeben.
...
Danke für den Tip mit dem ActiveXHelper.
Ich müßte da offenbar "Excel.Application.10" eingeben.
Ist das nun Abhängig von der Excel-Version?

@chris
- chris - hat geschrieben:Das Funktioniert bei mir nur mit Unicode
Mit der COMatePlus für PB5.40LTS muß das wohl so sein.

@Falko
Danke für die Klarstellung bezüglich der ExcelConstants.pbi.

Mein Ergebnis:
Die Kombination "Excel.Application.10" und "UniCode" mit der PB5.40LTS-Version von
COMate verhindert den IMA und Excel wird gefunden (aber: "Excel.Application.xx").

Aber...
Debug hat geschrieben:LastRow: 2 Dieser Befehl kann in einer geschützten Tabelle nicht verwendet werden. Verwenden Sie den Befehl 'Blattschutz aufheben' im Menü 'Extras', Untermenü 'Schutz', um den Blattschutz aufzuheben. Unter Umständen werden Sie nach einem Kennwort gefragt.
Bei einem ungeschützten Blatt liefert die Abfrage immer "65536".
LastRow ist deshalb für mich nicht nutzbar.

Mein Workaraound liefert jetzt mit der PB5.40LTS-Version auch den Wert "65536".
Aufgrund dieser Tatsache sowie dem Zwang damit das Programm in Unicode kom-
pilieren zu müssen und nicht alle Excel-Version sofort ansprechen zu können, werde
ich wieder auf die "alte" Version von COMate umsteigen.

Nochmals eine großer Dank für alle Hilfestellungen.

Re: ExcelFunktionen COMatePlus

Verfasst: 12.12.2015 21:18
von Falko
Ich möchte mich hier offiziell an allen Beteiligten zu den Änderungen bzw. Anpassung an meiner
ExcelFunktion.pbi und TestExcelFunction.pb bedanken. Aus einem kleinen ist nun
ein großes Projekt geworden, das hoffentlich für viele hier zu gebrauchen ist.

Zusätzlich möchte ich hier noch für eine aktuelle Anpassung und Erweiterung von FrW bedanken, dessen
Codeschnipsel ich heute und vor einigen Tagen in den oben genannten Code eingebaut habe.
Damit wird zum einen auf die korrekte Compilereinstellung auf Unicode hingewiesen, welche
nun bedingt ab PB 5.40 erforderlich ist und zum Anderen die Excelversion ermittelt.
Aufgrund der aktuellen PB 5.40+ wurde schon in der Betatestphase von ts-soft
eine Anpassung an ComateCOM.pbi vorgenommen.

Somit existieren oben in den Links die alte und die aktuelle ComateCOM-Version.

Wenn noch Wünsche zu weiteren Funktionen kommen, freue ich mich sehr, diese einbinden zu können

Liebe Grüße und ein schönes 3. Adventswochenende,
Falko

Re: ExcelFunktionen COMatePlus

Verfasst: 13.12.2015 12:21
von Lord
Hallo Falko!

Danke nochmals für die Bereitstellung der ExcelFunktion.pbi.
Ich werde die neueste Version gleich mal Testen.

Bereits jetzt möchte ich Dich aber schon bitten, im ersten Beitrag des
Threads etwas aufzuräumen.

Verwirrend ist z.B. dieses:
Zuletzt geändert von Falko am 12 Apr 2009 20:59:44, insgesamt 11-mal geändert.
oder dieses:
[Letzte Änderung 1.7.2014 mit PB 5.21LTS]
Ebenso frage ich mich, warum immer noch 2 Versionen der
"ExcelConstants.pb"i existieren:
In "COMatePlus 1.2 für PB5.40LTS" hat sie eine Größe von ~40 kByte
und ist vom 03.10.2010. Die seperat aufgeführte "ExcelConstants.pbi"
hat eine Größe >60 kByte.
Du hattest zwar weiter oben bereits geschrieben, daß die größere
Datei die aktuelle ist, doch sollte man dann auch diese in das Archiv
packen.
Es liest nicht jeder den gesamten Thread von Anfang bis Ende.

Re: ExcelFunktionen COMatePlus

Verfasst: 13.12.2015 15:26
von Falko
Ich hoffe, es ist soweit nun geordnet im Anfangsposting, wie du gewünscht hast.
Wegen der alten und neuen Constants kann man sich streiten. Die neueren Excelversionen
kennen halt neuere Konstanten. Die älteren nicht :)

Das mit dem Archiven habe ich mir zu Herzen genommen und ich hoffe es ist alles korrekt zugeordnet.

Über Kritik und Anregungen bin ich jedem dankbar :allright:

Mit freunlichen Grüßen,
Falko