ExcelFunktionen COMatePlus

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Lord
Beiträge: 312
Registriert: 21.01.2008 19:11

Re: ExcelFunktionen COMatePlus

Beitrag 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.
Bild
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag 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
Hygge
Lord
Beiträge: 312
Registriert: 21.01.2008 19:11

Re: ExcelFunktionen COMatePlus

Beitrag 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.
Bild
- chris -
Beiträge: 195
Registriert: 24.08.2005 19:52
Wohnort: Stadtallendorf

Re: ExcelFunktionen COMatePlus

Beitrag von - chris - »

Das Funktioniert bei mir nur mit Unicode
PB v5.72 x86/x64
Windows 10 Pro 64bit
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag 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
Hygge
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag 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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Lord
Beiträge: 312
Registriert: 21.01.2008 19:11

Re: ExcelFunktionen COMatePlus

Beitrag 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.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag 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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Lord
Beiträge: 312
Registriert: 21.01.2008 19:11

Re: ExcelFunktionen COMatePlus

Beitrag 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.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag 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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Antworten