mit Excel bin ich noch nicht besonders fit, stehe aber vor folgendem Problem:
Ich moechte aus einem VisualBasic-Programm (VB6.0)
(nicht aus VBA in Excel) ueber COM
ein ExcelSheet aufbauen. Prinzipiell geht das so:
Private objExcel As Excel.Application
...
Set objExcel as new Excel.Application
...
und nun Formeln und Inhalte einfuegen...
objExcel.Range("A1").Select
objExcel.ActiveCell.FormulaR1C1 = "100"
...
objExcel.Range("E1").Select
objExcel.ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
usw.
Das funktioniert auch.
Wichtig ist hier, dass ich trotz deutscher Installation von Windows und Excel
englische Formeln, Zelladressierung und Syntax verwenden kann.
Wichtig deshalb, weil ich letztendlich nicht wissen kann, auf was fuer einer
(Sprach-)Installation mein Programm letztendlich benutzt wird. Ein US-Excel
auf einem US-Windows wuerde beim programmatischen Erzeugen des Sheets mit einer
Formel "=SUMME(ZS(-4):ZS(-1))" sicher nichts anfangen koennen.
Nun moechte ich aber auch bedingte Formatierungen programmatisch erzeugen,
und da stelle ich fest, dass ich nur deutsche Formeln einfuegen kann, englische
Formeln erzeugen einen Fehler
objExcel.ActiveCell.FormatConditions.Add(xlExpression, xlEqual, "=UND(z1s5>500;z1s4=250)")
funktioniert, aber
objExcel.ActiveCell.FormatConditions.Add(xlExpression, xlEqual, "=AND(R1C5>500,R1S4=250)")
hingegen funktioniert nicht.
Wie kann ich auch die bedingte Formatierung sprachunabhaengig da hineinbekommen, ohne
z.B. Formel-Strings fuer deutsch, englisch, franzoesisch, japanisch, koreanisch usw.
bereithalten zu muessen?
Ausserdem hab ich mir sagen lassen, dass das Befuellen von Zellen ueber Arrays schneller
geht als mit der ganz oben gezeigten Vorgehensweise, dabei aber englische Formeln
auch nicht funktionieren. Wie kann ich das umgehen?
Kann mir jemand weiterhelfen?
Gruesse,
Jens