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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
mike_ch
Бывалый
Сообщения: 62
Зарегистрирован: 11 Июль 2007, 14:21
Откуда: Беларусь, Минск

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

Сообщение mike_ch »

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

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

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

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

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

Как выкрутиться в такой ситуации? Может можно как-нибудь по-другому определить язык офиса?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

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

Сообщение Дед Пахом »

Может так?

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

msoLanguageIDUI  EQUATE(чему оно равно)
  if ?xlsapp{'Application.LanguageSettings.LanguageID('& msoLanguageIDUI &')'} = 1049 then
С уважением, ДП
mike_ch
Бывалый
Сообщения: 62
Зарегистрирован: 11 Июль 2007, 14:21
Откуда: Беларусь, Минск

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

Сообщение mike_ch »

Нет. Так не пройдет :). Я тоже сначала думал, что msoLanguageIDUI это просто enumeration параметра для LanguageID. Но все на самом деле здесь какой-то другой механизм.
mike_ch
Бывалый
Сообщения: 62
Зарегистрирован: 11 Июль 2007, 14:21
Откуда: Беларусь, Минск

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

Сообщение mike_ch »

Дед Пахом писал(а):Может так?

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

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

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

msoLanguageIDUI  EQUATE(2)
Ответить