Clever-Excel-Forum

Normale Version: Frage zu LanguageSetting
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo wertes Forum,

ich habe da mal eine Frage zum LanguageSetting.
Ich frage in einem Code die Sprache mit Application.LanguageSettings.LanguageID(msoLanguageIDInstall) ab.
Das hat an meinem Rechner auch super funktioniert. Es kam 1031 raus.

Am Rechner eines Kollegen kommt aber 8192 raus. Welche Sprache soll das sein?

Bei meiner Recherche im Netz bin ich auf verschiedene Varianten der Abfrage gestoßen:
Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
Application.LanguageSettings.LanguageID(msoLanguageIDExeMode)
Application.LanguageSettings.LanguageID(msoLanguageIDUI)

Kann mir jemand erzählen, was in den jeweiligen Zeilen abgefragt wird?
Und warum bei meinem Kollegen IDInstall und IDExeMode 8192 ergeben und IDUI 1031?

Welches ist aus Eurer Sicht die beste Abfrage?

Vielen Dank für Eure Hilfe,
Lutz
Die Ländercodes kann man hier nachsehen:
https://learn.microsoft.com/en-us/office...languageid
Hallo,

vielen Dank für Eure Hilfe.

@Ralf, ich stelle fest, dass ich doch mit den Begrifflichkeiten einProblem habe.
Das ist die Zuordnung aus deinem Link:
Name                            Wert   Beschreibung
msoLanguageIDExeMode    4    Sprache für den Ausführungsmodus.
msoLanguageIDHelp          3    Sprache für die Hilfe.
msoLanguageIDInstall        1    Sprache für die Installation.
msoLanguageIDUI             2    Sprache für die Benutzeroberfläche.
msoLanguageIDUIPrevious 5    Die Sprache für die Benutzeroberfläche, die vor der aktuellen Sprache für die Benutzeroberfläche verwendet wird.

IDHelp ist klar. Aber was genau sind IDExeMode, IDInstall und IDUI?

@Steuerfuzzi, leider fehlt die 8192  Huh.

Gruß,
Lutz
(20.12.2022, 13:27)Lutz Fricke schrieb: [ -> ]IDHelp ist klar. Aber was genau sind IDExeMode, IDInstall und IDUI?

...die genauen Unterschiede kenne ich auch nicht. Muss ich auch nicht kennen, war bisher auch nicht notwendig. Aber wenn ich damit arbeiten müsste, würde ich mich sehr wahrscheinlich für 2 und/oder 4 entscheiden und diese beiden austesten. 

Die entscheidende Frage ist doch, wofür braucht man diese Info? Davon ist doch wohl meine (bzw. Deine) Wahl abhängig. 
Ob beispielsweise in VBA Formula verwendet werden muss oder FormulaLocal verwendet werden kann. Grundsätzlich verwende ich nie FormulaLocal...
Hallo,

wenn es Dir darum geht, die aktive Sprache der Benutzeroberfläche von Excel (inkl. Funktionsnamen in der entspr. Sprache),
zu ermitteln, dann verwende Application.LanguageSettings.LanguageID(msoLanguageIDUI).

msoLanguageIDInstall ist die Sprache, in der Office installiert wurde. Das kann sich zur aktiven Sprache unterscheiden.
Ich kann Office bspw. in Deutsch installieren, anschließend die Language Packs in Englisch und Französisch. Dann ist
msoLanguageIDInstall = 1031, also Deutsch. Schalte ich Excel auf Englisch um, wäre msoLanguageIDInstall immer
noch = 1031, aber msoLanguageIDUI = 1033.

msoLanguageIDExeMode habe ich selbst noch nie verwendet. Ich kann mir allerdings vorstellen, dass dies noch ein
Überbleibsel älterer Excel-Versionen ist (sicher bin ich da nicht).

Gruß
ID UI

Idenficiation User Interface

Das was du im Schirm siehst wenn du mit Excel arbeitest.

Check auch mal:

Code:
Msgbox  Application.International(xlCountryCode)       '   1
  Msgbox  Application.International(xlCountrySetting)        '   2
Hallo zusammen,

vielen Dank für die Infos. Und wieder was gelernt.
Offensichtlich setzt unsere IT unsere PC's unterschiedlich auf. Aber mit msoLanguageIDUI sollte ich dann wohl zum Ziel kommen.

Vielen Dank und allen natürlich frohe Weohnachten und einen guten Rutsch.

Gruß,
Lutz
Hallo Lutz,

verrätst du uns auch noch, was denn das Ziel ist?

Viele Grüße
derHöpp