Вообще-то, работать с Excel достаточно просто, если уяснить его основную иерархию:
Application - WorkBook - WorkSheet - Range (Cell)
Application - это собственно тот COM-объект, который создается в памяти
WorkBook - это файл, открытый в этом COM-объекте
WorkSheet - это лист одного файла
Range - область листа (набор ячеек) к которому идет обращение
Если работа идет через класс ComExcelDocument_RU, то
Application - это переменная m_comApplication
WorkBook - это переменная m_comDocument
Чтобы вытащить эти переменные во вне надо создать специальные методы в этом классе, которые будут просто возвращать значение этих переменнх. Причем следует помнить, что для AXAPTA все эти переменные типа COM. Ну, что-то вроде
PHP код:
public COM getApplication()
{
;
return m_comApplication;
}
Далее, следует помнить, что AXAPTA не поодерживает косвенные ссылки COM-объектов. Если почитать HELP по VBA в Excel (Открыть Excel, далее Alt+F11, далее F1), то по объекту LanguageSettings надо поступить примерно так:
PHP код:
static void Job_Excel(Args _args)
{
COMExcelDocument_RU excel;
Com m_comApplication;
Com comLanguageSettings;
;
excel = new COMExcelDocument_RU();
excel.newFile('',true);
excel.visible(true);
m_comApplication = excel.getApplication(); // это созданный выше метод
comLanguageSettings = m_comApplication.LanguageSettings();
print comLanguageSettings.LanguageID(1);
pause;
return;
}
Вот с константами беда

Какое именно значение имеют константы msoLanguageIDExeMode, msoLanguageIDHelp, msoLanguageIDInstall, msoLanguageIDUI, or msoLanguageIDUIPrevious я не в курсе. Методом тыка поставил единицу.
С возвращаемым значением полегче. Есть список констант в Word
PHP код:
#DEFINE.wdLanguageNone(0)
#DEFINE.wdNoProofing(1024)
#DEFINE.wdDanish(1030)
#DEFINE.wdGerman(1031)
#DEFINE.wdSwissGerman(2055)
#DEFINE.wdEnglishAUS(3081)
#DEFINE.wdEnglishUK(2057)
#DEFINE.wdEnglishUS(1033)
#DEFINE.wdEnglishCanadian(4105)
#DEFINE.wdEnglishNewZealand(5129)
#DEFINE.wdEnglishSouthAfrica(7177)
#DEFINE.wdSpanish(1034)
#DEFINE.wdFrench(1036)
#DEFINE.wdFrenchCanadian(3084)
#DEFINE.wdItalian(1040)
#DEFINE.wdDutch(1043)
#DEFINE.wdNorwegianBokmol(1044)
#DEFINE.wdNorwegianNynorsk(2068)
#DEFINE.wdBrazilianPortuguese(1046)
#DEFINE.wdPortuguese(2070)
#DEFINE.wdFinnish(1035)
#DEFINE.wdSwedish(1053)
#DEFINE.wdCatalan(1027)
#DEFINE.wdGreek(1032)
#DEFINE.wdTurkish(1055)
#DEFINE.wdRussian(1049)
#DEFINE.wdCzech(1029)
#DEFINE.wdHungarian(1038)
#DEFINE.wdPolish(1045)
#DEFINE.wdSlovenian(1060)
#DEFINE.wdBasque(1069)
#DEFINE.wdMalaysian(1086)
#DEFINE.wdJapanese(1041)
#DEFINE.wdKorean(1042)
#DEFINE.wdSimplifiedChinese(2052)
#DEFINE.wdTraditionalChinese(1028)
#DEFINE.wdSwissFrench(4108)
#DEFINE.wdSesotho(1072)
#DEFINE.wdTsonga(1073)
#DEFINE.wdTswana(1074)
#DEFINE.wdVenda(1075)
#DEFINE.wdXhosa(1076)
#DEFINE.wdZulu(1077)
#DEFINE.wdAfrikaans(1078)
#DEFINE.wdArabic(1025)
#DEFINE.wdHebrew(1037)
#DEFINE.wdSlovak(1051)
#DEFINE.wdFarsi(1065)
#DEFINE.wdRomanian(1048)
#DEFINE.wdCroatian(1050)
#DEFINE.wdUkrainian(1058)
#DEFINE.wdByelorussian(1059)
#DEFINE.wdEstonian(1061)
#DEFINE.wdLatvian(1062)
#DEFINE.wdMacedonian(1071)
#DEFINE.wdSerbianLatin(2074)
#DEFINE.wdSerbianCyrillic(3098)
#DEFINE.wdIcelandic(1039)
#DEFINE.wdBelgianFrench(2060)
#DEFINE.wdBelgianDutch(2067)
#DEFINE.wdBulgarian(1026)
#DEFINE.wdMexicanSpanish(2058)
#DEFINE.wdSpanishModernSort(3082)
#DEFINE.wdSwissItalian(2064)
Т.е. если приведенный выше Job вернет 1049, то язык русский, а если 1033 - то английский. Правда, надо все-таки как-то уточнить значение константы передаваемой в метод LanguageID().
Чтобы уточнить синтаксис какой-либо команды непосредственно в Excel, используют встроенный в Excel макрорекодер. Т.е. запись всех действий пользователя, совершаемых в Excel. Пункт меню Сервис -> Макрос -> Начать запись.
Выполняешь все необходимые действия, далее останавливаешь запись, открываешь макрос на редактирование и смотришь, какая именно команда была использована. Правда, переносить один-к-одному код макрорекодера не нужно. Все эти Selection() явно лишние. Но, думаю, сообразишь как там что перевести. Ничего сложного.