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.
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von ThoPie »

Hallo,

ich habe mal wieder eine Frage/Idee:

Ich möchte gern eine Grafik in einer Excel-Tabelle ausgeben, diese aber aus einer Ressourcen-Datei (ich nutze die UDRes-Include) nehmen. Über

Code: Alles auswählen

UDRes_CatchImage(#imaLogo,UDRes_GetResNumber("Logo.jpg"))
wird das Bild eingelesen.

Ich hätte dann gern sowas

Code: Alles auswählen

Procedure XLSFunc_GrafikRes(ExcelObject.COMateObject,ImageRes.l,X.l,Y.l,Width.l,Height.l)
Ist sowas auch machbar?

Vielen Dank schon mal.
ThoPie
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 »

Nun kann man mit folgender Procedure auch ReadOnly ab der ersten Excel-Datei
öffnen. Ein #True ermöglicht dieses nun. ansonsten wurde die erste Datei nicht schreibgeschützt
geöffnet.

Code: Alles auswählen

Procedure.l XLSFunc_OpenExcelFile(Datei.s,ReadOnly.l=#False); Open ExcelFile with ReadOnly-Parameter, #True or #False
  Protected ExcelObject.COMateObject,Workbooks
  ExcelObject = COMate_CreateObject("Excel.Application")
  If ExcelObject
    If ReadOnly=#False
      ExcelObject\Invoke("Workbooks\Open('"+Datei+"',#opt, #False)"); The first open Excelfile is not ReadOnly
    ElseIf ReadOnly=#True
        ExcelObject\Invoke("Workbooks\Open('"+Datei+"',#opt, #True)"); The first open Excel is ReadOnly
    EndIf    
        
  Else
    MessageRequester("Achtung","Bitte geben Sie eine vorhandene xls-Datei mit Pfad an!")
  EndIf
  ProcedureReturn ExcelObject ;.COMateObject
EndProcedure
An Einige, die nach der Hilfe hierzu mich angeschrieben hatten. Da gnozals helptool nicht aktualisiert wird, und man
ihn im englischen Forum wohl nicht erreichen kann, muss ich mich nach einer anderen Möglichkeit, die Hilfe hierzu zu schreiben,
umsehen. Somit kann das noch etwas dauern, bis ich soweit bin. Ich bitte um Verständnis :)

MfG,
Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Re: ExcelFunktionen COMatePlus

Beitrag von mueckerich »

Der Thread ist zwar schon länger nicht mehr aktaulisiert worden, aber viellecht kann es jemand brauchen.

Code: Alles auswählen

Procedure XLSFunc_SetCellTextWrap(ExcelObject.COMateObject, Range.s, Wert.l);Set Cell WrapText
  ExcelObject\Invoke("Range('"+ Range +"')\Select")
  If Wert=#True
    ExcelObject\SetProperty("Selection\WrapText = #TRUE")
  ElseIf Wert=#False
    ExcelObject\SetProperty("Selection\WrapText = #FALSE")
  EndIf
EndProcedure
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
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 »

Danke @mueckerich. Ich habe deinen Source in der Excelfunktions.pb hinzugefügt. :allright:


Ich hoffe, dass das Comate+ in der neuen PB 5.4B4 bald läuft.
Die Strukture CLSID macht mir da, wegen Stringvorgabe mir Probleme und
ich habe noch keine Lösung gefunden. Es sei denn, man kann es umgehen.
In PB 5.31 läuft alles.

Gruß,
Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExcelFunktionen COMatePlus

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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 »

Danke Thomas, für die Anpassung an PB 5.4B3.
Funktioniert prima.

So, wie ich das aus der alten und neuen PBI-Datei nachvollziehen
konnte, waren das eine ganze Menge an Änderungen. :allright: :allright:

Gruß,
Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExcelFunktionen COMatePlus

Beitrag von ts-soft »

Falko hat geschrieben:So, wie ich das aus der alten und neuen PBI-Datei nachvollziehen
konnte, waren das eine ganze Menge an Änderungen.
Ich könnte das jetzt so stehen lassen :lol: , aber es sind nur vier kleine Änderungen nötig gewesen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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 »

Dann weiß ich nicht, was mir der PB-Editor mit dem Vergleichswerkzeug
angezeigt hat. Damit meinte ich die einzelnen Zeilen :lol: :D
.Integer weg genommen, bei einigen $ vorgesetzt, Peeks() usw.
das sind doch mehr als nur vier kleine Änderungen :lol:

Gruß,
Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExcelFunktionen COMatePlus

Beitrag von ts-soft »

Es ist die letzte mir bekannte Version von srod. Ich habe aber bereits vorher ein paar kleinere Anpassungen machen müssen, die
eigentlich bei Dir auch gemacht werden mußten, ansonsten wäre es ja nicht gelaufen. Ist auch egal, keine 10 Minuten und das
meiste wurde mit Nachdenken verbracht :D

Das meiste Zeit habe ich mit der registry_module.pbi verbracht und das war auch nicht viel.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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 »

Ist ja schon Gut Thomas.
Trotzdem Danke dafür. :D
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Antworten