VB 2008, Office und Sprachversionen

17/06/2008 - 11:40 von Johannes Busch | Report spam
Moin zusammen,

ich stehe da etwas auf dem Schlauch. Gegeben ist eine
VB.NET-Applikation, die Office-Applikationen steuert. Das klappt auch
wunderbar, solange sowohl das OS als auch Office in derselben Sprache
installiert sind (also etwa die deutschen Varianten). Aber wehe, dem ist
einmal nicht so. Dann schlàgt auch unter Vista SP1 und Office 2007 ein
uralter Bug wieder zu. Dem làßt sich begegnen durch ein

System.Threading.Thread.CurrentThread.CurrentCulture = _
New System.Globalization.CultureInfo("???")

Das "???" ist nun das Problem. Wie erfrage ich von der Office-Anwendung
*ihre* Sprachversion, also nicht die des Rechners?? Die Antwort hàtte
ich am liebsten RFC1766-kompatibel, aber notfalle tut es auch eine
Windows-typische Language-Number. Die im Netz auffindlichen Tips waren
bislang ebenso wenig hilfreich wie die OH. Hat da jemand eine guten Tip
parat?

Dankbar auf Antwort hoffend
Johannes Busch
 

Lesen sie die antworten

#1 Martin H.
17/06/2008 - 14:02 | Warnen spam
Hallo Johannes,

Du kannst das aus der Registry erfahren:
Ich habe Office 2000 und Office 2007 hier.
Office 2000:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\LanguageResources\UILanguage

enthàlt den DWORD UILanguage (bei deutsch: 1033, Hex: 409)

Office 2007:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options\LastUILang

enthàlt den DWORD LastUILang (bei deutsch: 1033, Hex: 409)

Beste Grüße,

Martin

On 17.06.2008 17:40, wrote Johannes Busch:
Moin zusammen,

ich stehe da etwas auf dem Schlauch. Gegeben ist eine
VB.NET-Applikation, die Office-Applikationen steuert. Das klappt auch
wunderbar, solange sowohl das OS als auch Office in derselben Sprache
installiert sind (also etwa die deutschen Varianten). Aber wehe, dem ist
einmal nicht so. Dann schlàgt auch unter Vista SP1 und Office 2007 ein
uralter Bug wieder zu. Dem làßt sich begegnen durch ein

System.Threading.Thread.CurrentThread.CurrentCulture = _
New System.Globalization.CultureInfo("???")

Das "???" ist nun das Problem. Wie erfrage ich von der Office-Anwendung
*ihre* Sprachversion, also nicht die des Rechners?? Die Antwort hàtte
ich am liebsten RFC1766-kompatibel, aber notfalle tut es auch eine
Windows-typische Language-Number. Die im Netz auffindlichen Tips waren
bislang ebenso wenig hilfreich wie die OH. Hat da jemand eine guten Tip
parat?

Dankbar auf Antwort hoffend
Johannes Busch

Ähnliche fragen