ExcelFunktionen COMatePlus
Re: ExcelFunktionen COMatePlus
Hallo Falko!
Danke, daß Du den ersten Beitrag überarbeitet hast.
Die jetzige Version der ExcelFunktion.pbi funkioniert jetzt bei mir
soweit fehlerfrei.
Wegen Unicode-Abhängigkeit der neuen Version werde ich aber
bei der alten Version bleiben.
Danke, daß Du den ersten Beitrag überarbeitet hast.
Die jetzige Version der ExcelFunktion.pbi funkioniert jetzt bei mir
soweit fehlerfrei.
Wegen Unicode-Abhängigkeit der neuen Version werde ich aber
bei der alten Version bleiben.
- mueckerich
- Beiträge: 220
- Registriert: 13.09.2004 11:33
- Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad
Re: ExcelFunktionen COMatePlus
Hallo Falko,
ich hab mir jetzt nicht den ganzen Therad durchgelesen und bin auch nicht auf dem neuesten Stand. Darum weiß ich nicht so genau ob es den folgenden Codeschnipsel schon gibt. Wenn nicht dann kannst du wieder mal eine Klitzekleinigkeit von mir einfügen.
Nochmals vielen Dank dass Du und das Projekt zur Verfügung stellst. Ich liebe dieses Teil.
ich hab mir jetzt nicht den ganzen Therad durchgelesen und bin auch nicht auf dem neuesten Stand. Darum weiß ich nicht so genau ob es den folgenden Codeschnipsel schon gibt. Wenn nicht dann kannst du wieder mal eine Klitzekleinigkeit von mir einfügen.
Code: Alles auswählen
[/Procedure.s XLSFunc_ColumnNumberToColumnName(ExcelObject.COMateObject, Column.i);Convert Number to Column Name
Protected.s ReturnValue, sTmp
Protected.i iPos
ReturnValue = ExcelObject\GetStringProperty("Cells(1,"+Str(Column)+")\Address")
ProcedureReturn Mid(ReturnValue,2,FindString(ReturnValue,"$",2)-2)
EndProcedure
Procedure.i XLSFunc_ColumnNameToColumnNumber(ExcelObject.COMateObject, ColumnName.s);Convert Name to Column Number
Protected ReturnValue.i
ReturnValue=ExcelObject\GetIntegerProperty("Range('"+ ColumnName + "1')\Column")
ProcedureReturn ReturnValue
EndProcedure
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
- 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
Hallo mueckerich,
das freut mich. Ich habe deinen Code aufgenommen und die Änderung auf heute datiert, sowie mit der
aktuellen PB 5.42LTS B3 getestet.
Vielen Dank für deine Unterstützung.
Gruß,
Falko
das freut mich. Ich habe deinen Code aufgenommen und die Änderung auf heute datiert, sowie mit der
aktuellen PB 5.42LTS B3 getestet.
Vielen Dank für deine Unterstützung.
Gruß,
Falko
- mueckerich
- Beiträge: 220
- Registriert: 13.09.2004 11:33
- Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad
Re: ExcelFunktionen COMatePlus
Ich versuch gerade verzweifelt die bedingte Formatierung einer Zelle in Excel hinzubekommen. Krieg es aber nicht hin, hat jemand eine Idee wo mein Fehler liegt?
Hier der VBA Code:
und hier mein Scheitern . Irgendwie seh ich den Wald vor lauter Bäumen nicht, da schon das Hinzufügen einer bedingten Formatierung mit "Selection\FormatConditions\Add" nicht funktioniert.
Hier der VBA Code:
Code: Alles auswählen
Sub Makro1()
Range("A1:G1").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Range("A1").Select
End Sub
Code: Alles auswählen
Procedure XLSFunc_SetConditionalFormat(ExcelObject.COMateObject, Range.s, Farbe.l, Typ.i=#xlCellValue, Operator.i=#xlGreater, Formel.s="=0")
ExcelObject\Invoke("Range('"+Range + "')\Select")
ExcelObject\SetProperty("Selection\FormatConditions\Add(" + Str(Typ) + ", " + Str(Operator) + ", " + Formel + ")")
ExcelObject\Invoke("Selection\FormatConditions(Selection\FormatConditions\Count)\SetFirstpriority")
ExcelObject\SetProperty("Selection\FormatConditions(1)\Interior\PatternColorIndex = " + Str(#xlAutomatic))
ExcelObject\SetProperty("Selection\FormatConditions(1)\Interior\Color = " + Str(Farbe))
ExcelObject\SetProperty("Selection\FormatConditions(1)\TintAndShade = 0")
ExcelObject\SetProperty("Selection\FormatConditions(1)\StopIfTrue = False")
EndProcedure
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Ich habe versucht ein Programm auszuführen. Bis PB 5.41 klappt alles. Ab aktueller Version 5.42 meckert PB die COMatePlus.pbi in der Zeile 619 excep\pfnDeferredFillin(excep) an mit "unbrauchbarer Code am Ende der Zeile".
Habe es unter Win7 und XP getested.
Zurück nach PB 5.41 geht alles wieder.
Habe es unter Win7 und XP getested.
Zurück nach PB 5.41 geht alles wieder.
- 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
COMatePLUS, welche für PB 5.42 angepasst sein soll.
http://www.purebasic.fr/english/viewtop ... 13&t=65292
MfG,
Falko
http://www.purebasic.fr/english/viewtop ... 13&t=65292
MfG,
Falko
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Vielen Dank, nun läuft auch PB 5.42
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Speichern unter Win7 mit Excel 2010
Gibt es Besonderheiten bei Win7 Excel 2010 , die unter XP und Excel 2000 nicht waren? Es ist nicht mehr möglich, eine Excel Tabelle mit WorkbookSaveAs abzuspeichern. Der Befehl wird einfach ignoriert. Ich starte Purebasic mit Administratorrechten und habe auch in den Einstellungen Admin Rechte holen angeklickt.
Re: Speichern unter Win7 mit Excel 2010
füge mal hinter der Zeile:
testweise folgendes ein:
Unter Umständen wird Dir dann angezeigt, was schief gelaufen ist.
Grüße ... Peter
Code: Alles auswählen
Workbook\Invoke("SaveAs('"+FileName+"', " + Str(FFormat) + ")") ;Save As #xlNormal or #xlCSV or another CSV (MSDOS or Windows)
Code: Alles auswählen
Debug COMate_GetLastErrorCode()
Debug COMate_GetLastErrorDescription()
Grüße ... Peter
Hygge
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Vielen Dank für den schnellen Tip.
Hat leider nicht geholfen
Debug Ausgabe
0
OKAY
Speichert aber nicht.
Hat leider nicht geholfen
Debug Ausgabe
0
OKAY
Speichert aber nicht.