Страница 1 из 1

Определить язык excel через OLE

Добавлено: 14 Август 2013, 19:54
mike_ch
Доброго всем времени суток!
Работаю с excel через OLE. Если в англоязычный писать формулы русские, например ОКРУГЛ, будет косяк. А также если стоит русский языковой пакет ROUND не прокатит. Решил средствами VBA определить language. НО

Код: Выделить всё

if ?xlsapp{'Application.LanguageSettings.LanguageID(msoLanguageIDUI)'} = 1049 then
не работает, хотя в самом редакторе VBA код вроде этого

Код: Выделить всё

MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDUI)
работает.

Как выкрутиться в такой ситуации? Может можно как-нибудь по-другому определить язык офиса?

Re: Определить язык excel через OLE

Добавлено: 14 Август 2013, 20:09
Дед Пахом
Может так?

Код: Выделить всё

msoLanguageIDUI  EQUATE(чему оно равно)
  if ?xlsapp{'Application.LanguageSettings.LanguageID('& msoLanguageIDUI &')'} = 1049 then

Re: Определить язык excel через OLE

Добавлено: 14 Август 2013, 20:21
mike_ch
Нет. Так не пройдет :). Я тоже сначала думал, что msoLanguageIDUI это просто enumeration параметра для LanguageID. Но все на самом деле здесь какой-то другой механизм.

Re: Определить язык excel через OLE

Добавлено: 14 Август 2013, 23:50
mike_ch
Дед Пахом писал(а):Может так?

Код: Выделить всё

msoLanguageIDUI  EQUATE(чему оно равно)
  if ?xlsapp{'Application.LanguageSettings.LanguageID('& msoLanguageIDUI &')'} = 1049 then
Ааа ... Вы правы. Все таки msoLanguageIDUI это enumeration.

Код: Выделить всё

msoLanguageIDUI  EQUATE(2)