Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

COM und Sprache bei Formeln

COM und Sprache bei Formeln
07.02.2003 15:37:39
T. Meyer
Ich programmiere COM unter C++.
Dabei möchte ich eine Formel in eine Zelle eintragen z.B:

xlSheet->Range("A1")->Formula = "=SUMME(A1:A10)";

Soweit klappt das auch wenn ich das ausführe.

Aber wenn jemand ein englisches Excel hat dann klappt das nichtmehr weil die Formel SUMME nicht existiert im Englischen.

Was nun?

ich kann doch jetzt nicht für jede Sprache eine eigene Zeile programmieren.

HILFE!!!!

Danke!

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: COM und Sprache bei Formeln
07.02.2003 15:46:02
L.Vira

Nimm statt Formula FormulaLocal:
xlSheet->Range("A1")->FormulaLocal = "=SUMME(A1:A10)";


Geht leider nicht!
07.02.2003 15:51:08
T. Meyer

Erstmal Danke,

Hab ich schon gemacht. Geht aber trotzdem nicht.
Habe es so gemacht:

In meinem C++ Programm habe ich geschrieben:

xlSheet->Range("A11").FormulaLocal = "=SUM(A1:A10)";

aber dann, wenn sich mein (deutsches) Excel öffnet erscheint in der Zelle A11 nur #Name?.
Er interpretiert das als Text!

Noch ne Idee?

Danke!

Re: Geht leider nicht!
07.02.2003 15:52:52
L.Vira

Wenn du Summe in englisch, also SUM nimmst, dann Formula
wenn du SUMME verwendest, dann FormulaLocal, jetzt klarer?

Anzeige
falscher Thread
07.02.2003 15:53:30
Rico



watten nu los ?
07.02.2003 15:56:07
Lutz

Chaos im Forum.........

Ja aber
07.02.2003 16:01:31
T. Meyer

Danke nochmals, aber ich will dieses C++ Programm zentral auf einem Server ablegen.
Dann muß ich mich schonmal bei der Programmierung auf eine Sprache festlegen.
Nehmen wir an ich entscheide mich für die englische Version:

xlSheet->Range("A11")->Formula = "=SUM(A1:A10)";

dann klappt das für alle englischen User im Netz.
Was aber mit denen die andere Sprachen haben?
Soll ich mit einer langen case- oder if then else Struktur alle Sprachen durchgehen und dann die Formel in jeder Sprache mit FormularLocal kodieren? Das kann es doch nicht sein, oder?

Was meinst du?




Anzeige
Re: Ja aber
07.02.2003 16:04:10
L.Vira

Damit liegst du richtig: Formula = "=SUM(A1:A10)"
VBA ist immer englisch.

Re: Ja aber
07.02.2003 16:04:16
Martin Beck

Hallo,

die englische Schreibweise in VBA müßte auf allen landesspezifischen Excelversionen laufen.

Gruß
Martin Beck

Bitte genauer lesen L.Vira!
07.02.2003 16:11:07
T. Meyer

Danke nochmal aber:

Wozu dann FormulaLocal wenn ich noch testen muß WELCHE Sprache das jeweilige Excel benutzt????
Ich dachte genau dieses Problem soll FormulaLocal lösen!!!!

Es gibt viele Sprachen, soll ich dann für jede Sprache eine eigene Zeile in meinem Programm schreiben:

if Sprache = Englisch then
...->Formula = "SUM(A1:A10)";
else if Sprache = DEUTSCH then
...->FormulaLocal = "SUMME(A1:A10)";
else if Sprache = Türkisch then
...->FormulaLocal = "SÖMMÜ(A1:A10)";
...usw

Ich kenne das Wort Summe leider nicht in allen Sprachen - WAS NUN?
Wozu gibt es denn dann die FormulaLocal?

Bitte erstmal überlegen und dann Antworten, OK?




Anzeige
Re: Ja aber
07.02.2003 16:14:28
T. Meyer

Danke,

aber das ist KEIN VBA Script oder Makro, sondern ich erzeuge eine Excel Tabelle über COM (Component Object Model) mit C++.

Und es funktioniert nicht!

Weitere Ideen?

Re: Bitte genauer lesen L.Vira!
07.02.2003 16:16:42
L.Vira

Du schreibst die Formel in eine Exceltabelle, also kann die englische Version nicht falsch sein.

Das genau ist doch mein Problem!!!
07.02.2003 16:20:04
T. Meyer

Ist sie aber, da ist doch genau mein Problem!

Versuch mal ne englische Formel (SUM) in ein Zelle eines deutschen Excel zu schreiben!

Es geht nicht! und genau das bringt uns zu meiner Frage zurück.

Wie kann ich das lösen?


Re: Das genau ist doch mein Problem!!!
07.02.2003 16:31:45
L.Vira

Mea culpa, ja, jetzt hats klick gemacht. Da wird dir wohl nix
bleiben, als zu ermitteln, welche Sprache die local ist und
dann (in VB wäre es eine Select Case Abfrage) in die jeweilige Sub zu verzweigen. Wie das in C++ geht, keine Ahnung.

Anzeige
Re: Ja aber
07.02.2003 16:47:36
Martin Beck

Hallo,

nur nochmal zu meinem Verständnis. Du hast folgende Zeile

xlSheet->Range("A11").Formula = "=SUM(A1:A10)"

und diese Zeile funktioniert für "englisches" Excel aber nicht für "deutsches" Excel und Du hast beides getestet?

In VBA würde die Zeile m.E. in allen landespezifischen Excelversionen funktionieren, zu C++ kann ich nichts sagen, tut mir leid. (vielleicht noch einmal in einem C++-Forum nachfragen?)

Gruß
Martin Beck

Re: Ja aber
08.02.2003 08:28:56
Hans W. Hofmann

Hm, wenn Dein Code nicht geheim ist, könnte ich gerne mal einen Blick darauf werfen. Gebe aber vorsichtshalber zu , dass ich mit COM noch nix zählbares geschrieben hab. Ich hab etwas Erfahrung mit dem alten Excel SDK, evtl. muß, das wie anno 97 gecoerced werden.
Übrigens keinesfalls in c++-Gruppen nachfragen, die Jungs reagieren ziemlich allerisch auf MS-spezialitäten, besser in der XL SDK Gruppe fragen. Die sind aber nicht besonders auskunftfreudig...

Gruß HW


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige