COMatePLUS excel

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

COMatePLUS excel

Beitrag von marcelx »

Hallo zusammen,

ich benutze COMatePLUS um einfache Excel-Datei zur erstellen.
Ich möchte die erste Zeile formatieren als fett und zentriert.
Die restliche Zellen möchte ich entweder linksbündig oder rechtsbündig.
Irgend wie habe ich es nicht geschafft.

Wäre dankbar über ein Tipps.

Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: COMatePLUS excel

Beitrag von marcelx »

Nach lang suchen und probieren, habe ich es geschafft eine Zelle fett zu markieren:

Code: Alles auswählen

Style$="Bold"
ExcelObject\SetProperty("Selection\Font\FontStyle = '"+Style$+"'")
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS excel

Beitrag von Kiffi »

Kennst Du die Excel/COMate - Funktionssammlung von Falko? -> http://www.purebasic.fr/german/viewtopi ... 66#p239466

Damit kannst Du recht einfach Excel-Dateien bearbeiten.

Grüße ... Peter
a²+b²=mc²
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: COMatePLUS excel

Beitrag von marcelx »

Danke Peter, ich hatte ohne die Funktionssammlung von Falko angefangen.
Für das Setzen "Fett" habe ich XLSFunc_SetFontStyle gefunden.

Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS excel

Beitrag von Kiffi »

und für die Ausrichtung (linksbündig, zentriert, rechtsbündig) sollte XLSFunc_SetFontAlignment() das richtige sein.

Grüße ... Peter
a²+b²=mc²
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: COMatePLUS excel

Beitrag von marcelx »

Hallo,

ich versuche eine Zelle zu formatieren als zahl mit 3 Nachkommastellen.
In den Beispiel Test_Excel_Funktion.pb wird die sub XLSFunc_SetCellFormat so verwendet:

XLSFunc_SetCellFormat(NewExcelObject, "A16", "#.####"); für Dezimalzahl mit 3 Dezimalstellen

In der Excel (2007) stimmt das Format nicht !

Voran könnte es liegen.
Danke und Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: COMatePLUS excel

Beitrag von Kiffi »

versuch mal

Code: Alles auswählen

XLSFunc_SetCellFormat(NewExcelObject, "A16", "0.000")
Grüße ... Peter
a²+b²=mc²
Benutzeravatar
Falko
Admin
Beiträge: 3535
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.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: COMatePLUS excel

Beitrag von Falko »

Vielleicht hatte ich da ein Formatzeichen # zuviel
eingefügt, wenn vier Nullen angezeigt wurden.
Ich habe das nun korrigiert. Mit meinem Office 2010
kann ich das leider nicht überprüfen :)

Gruß,
Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: COMatePLUS excel

Beitrag von marcelx »

Danke Falko und Kiffi für die Rückmeldung.

Ich habe die Zeile so geändert

Code: Alles auswählen

XLSFunc_SetCellFormat(NewExcelObject, "A16", "0.000")
was mir korrekt erscheint.
Wenn ich in der Excel-Datei an der Zelle A16 eine Kommazahl wie z.B. 5000,123 kommt immer die Anzeige 5.000

Das verstehe ich nicht.

Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Falko
Admin
Beiträge: 3535
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.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: COMatePLUS excel

Beitrag von Falko »

Versuchs mal so.

Code: Alles auswählen

XLSFunc_WriteCells(NewExcelObject, 16,1, "5000,21")
Debug COMate_GetLastErrorDescription()+"  XLSFunc_WriteCells"
XLSFunc_SetCellFormat(NewExcelObject, "A16", "#.###0,000"); für Dezimalzahl mit 3 Dezimalstellen
Debug COMate_GetLastErrorDescription()+"  XLSFunc_SetCellFormat"
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten