Не работает передача данных по OLE в русский Excel
Мёpтвый диск не жyжжит,
Мёpтвый сидиpом не поёт,
Мёpтвый компьютеp игpy запyскать не идёт,
Только мёpтвый компьютеp игpy запyскать не идёт...
A: (SM): Дело в том что в VCL твои команды OLE2 передаются Excel"у в русском
контексте (не знаю, как это правильно назвать). Для исправления необходимо найти
в файле OLEAUTO.pas в функции GetIDsOfNames строчку
if Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, NameCount,
LOCALE_SYSTEM_DEFAULT, DispIDs) <> 0 then
и заменить ее на
if Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, NameCount,
((LANG_ENGLISH+SUBLANG_DEFAULT*1024)+SORT_DEFAULT* 65536 ),
DispIDs) <> 0 then
После этого у меня Excel стал понимать нормальные английские команды :)).
Необходимая комбинация для установки английского языка взята из C-шных хедеров.
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Не работает передача данных по OLE в русский Excel", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!