Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
240to244
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
240to244
240to244
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sprachunabhaengigkeit, Excel u

Sprachunabhaengigkeit, Excel u
09.04.2003 16:06:24
Jens
Liebe Spezialisten,

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


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Sprachunabhaengigkeit, Excel u
09.04.2003 17:12:47
Nike

Hi,
da hilft es dir wohl nur noch die Tabellenfunktionen
in VBA nachzubauen (mit WorksheetFunction.)
da bist du recht Sprachunabhängig (alles in englisch)
Bedenke nur, das du dann auch deine Variablen
unabhängig machen mußt und z.B. nicht mehr
Tabelle1 ansprichst, sondern Worksheets(1)
weil eine frisch angelegte Tabelle im Englisch
Sheet1 wäre oder in Frankreich als Fichier1 in Erscheinung treten würde ;-)

Viel Spaß dabei.

Bye

Nike

Re: Sprachunabhaengigkeit, Exc
10.04.2003 13:17:28
Jens

Hallo Ihr alle!

Aber ist es denn wirklich plausibel, dass ich Formeln auf
englisch angeben kann, bedingte Formatierung jedoch nicht?

Ein derart grossen Blackout koennen die Entwickler doch
nicht gehabt haben, oder?

Wenn ich auf einem deutschen Windows und Excel eine deutsche
bedingte Formatierung einfuege, das Sheet speicher und auf
einem englischen Windows mit englischem Excel oeffne, dann
erscheint die bedingte Formatierung dort uebersetzt und
funktioniert. Das laesst den Schluss zu, dass die Formel doch
irgendwie sprachunabhaengig im Dokument abgelegt ist.

Das besagte objExcel in VB6 mit dem Objectbrowser betrachtet
offenbart, dass Excel in eine Handvoll einzelner Objekte mit jeweils recht grossen Interfaces zergliedert ist. Kennt sich
damit irgendjemand aus, kann ich eine Formel für bedingte
Formatierung vielleicht auch noch auf einem anderen Weg in
eine Zelle bekommen, ohne objExcel.ActiveCell.FormatConditions.Add(xlExpression... ?

Gruss,
Jens



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige