Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интерфейс "Excel" я... Русская или английская....! 
:(
    Опции темы
Kamoliddin
Дата 26.10.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



У меня такая ошибка.!
Я бросаю данные с массива в ячейки "еxcel" я. 
У меня массив типа вариант. С числами все проходит нормально но когда я бросаю в ячейку формулу как строка она не берет(берет но невычисляет его). А строка имеет такой вид 
ArrayData[1,1] = '=SUMM(R[-1]C:R[-10]C)'. 

Позже узнал  что для русского офиса надо писать - '=СУММ(R[-1]C:R[-10]C)', а для английского - '=SUMM(R[-1]C:R[-10]C)'.
Нет ли общего варианта чтобы избежать от этого ?

Вот и понадобилась узнать интерфейс оффиса...или грубо говоря версию..!

PM MAIL   Вверх
Albinos_x
Дата 26.10.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Код

procedure TForm1.Button1Click(Sender: TObject);
begin                                                   {{$2}
case ExcelApplication1.LanguageSettings.LanguageID[msoLanguageIDUI] of
   1049 :  ShowMessage('Rus');
   1033 :  ShowMessage('Eng/USA');
   1031 :  ShowMessage('Germ');
   else  ShowMessage('ХЗ... See : MS SDK Help "Language Identifiers". No : '+ inttostr(ExcelApplication1.LanguageSettings.LanguageID[msoLanguageIDUI]));
   end;
end;


ЗЫ: это работает только для Excel  версии 9.0 (MS Office 2000) и выше...

Добавлено @ 16:17 
ну а вообще... я бы избегал использования
Цитата(Kamoliddin @  26.10.2006,  14:19 Найти цитируемый пост)
'=SUMM(R[-1]C:R[-10]C)'. 


тут есть подводные камни, кроме 
Цитата(Kamoliddin @  26.10.2006,  14:19 Найти цитируемый пост)
СУММ

и
Цитата(Kamoliddin @  26.10.2006,  14:19 Найти цитируемый пост)
SUMM




--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Kamoliddin
Дата 27.10.2006, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Обьясну подробно..!
Я не использую компонент.. так что не могу использовать свойству "LanguageSettings".
 
Код


uses Excel97, ExcelXp;

var 
 MyExcel : ExcelApplication;
 MyRange: ExcelRange;
 //
 //
 //
begin
 MyExcel:=CoExcelApplication.Create;                //----- первый вариант 
 MyExcel:=Excel97.CoExcelApplication.Create;   //----- второй вариант
end;

  Впервом варианте все нормально со суммой,  но отчет в  Excel2000 не выходить.
  А в втором случае отчет выходить во всех версиях Excel я, но со суммой проблема (Ошибка "#ИМЯ!",        
  Если русская то "СУММ"  а если английская то "SUM" ). smile 

PM MAIL   Вверх
Albinos_x
Дата 27.10.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Kamoliddin @  27.10.2006,  10:03 Найти цитируемый пост)
Я не использую компонент.. так что не могу использовать свойству "LanguageSettings"

это почему же? 
Цитата(Kamoliddin @  27.10.2006,  10:03 Найти цитируемый пост)
MyExcel : ExcelApplication;

что же вам мешает?
Код
...
MyExcel.LanguageSettings.LanguageID[msoLanguageIDUI] of    
   1049 :  ShowMessage('Rus');    
   1033 :  ShowMessage('Eng/USA');    
   1031 :  ShowMessage('Germ');    
   else  ShowMessage('ХЗ... See : MS SDK Help "Language Identifiers". No : '+ inttostr(ExcelApplication1.LanguageSettings.LanguageID[msoLanguageIDUI]));    
   end;    
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Kamoliddin
Дата 28.10.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Цитата

MyExcel.LanguageSettings.LanguageID[msoLanguageIDUI]


Ошибка - "unknown udentifier". Никак не получаеться...! 
PM MAIL   Вверх
Albinos_x
Дата 28.10.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Kamoliddin @  28.10.2006,  14:56 Найти цитируемый пост)
"unknown udentifier"

случайно не на константу msoLanguageIDUI указывает?
подключи модуль OfficeXP или замени на число $2 ...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Kamoliddin
Дата 31.10.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Цитата

случайно не на константу msoLanguageIDUI указывает?


Неа ...она указывает на свойство..! Я подключил модул OfficeXp ....не получилось! А что такое 
Цитата

замени на число $2 ... 

я правда не понял.....!  smile  smile 

Хотел задать вопрос чуть по другому..!   А как можно узнать версию MsOffice ?????
PM MAIL   Вверх
Albinos_x
Дата 31.10.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



ну ты блин даёшь.... 
Код


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OfficeXP, ExcelXp;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var MyExcel : ExcelApplication;
begin
MyExcel:=CoExcelApplication.Create;
case MyExcel.LanguageSettings.LanguageID[msoLanguageIDUI] of
   1049 :  ShowMessage('Rus');
   1033 :  ShowMessage('Eng/USA');
   1031 :  ShowMessage('Germ');
   else  ShowMessage('ÕÇ... See : MS SDK Help "Language Identifiers". No : '+ inttostr(MyExcel.LanguageSettings.LanguageID[msoLanguageIDUI]));
   end;
end;

end.


вот у меня это работает... 

а у тебя не работает, т.к. 
Цитата(Albinos_x @  26.10.2006,  16:11 Найти цитируемый пост)
ЗЫ: это работает только для Excel  версии 9.0 (MS Office 2000) и выше...

а ты создаёшь один объект, а потом не освобождая память в туже переменную другой объект толкаешь, при чём под 97 Эксель... вот тебе ошибку и выдаёт... если хочешь узнать о версии (имеется ввиду 97,2000, ХР, 2003), читай мою статью, она в разделе вверху закреплена...
Цитата(Kamoliddin @  31.10.2006,  13:19 Найти цитируемый пост)
я правда не понял.....!

имеется ввиду так:
Код

procedure TForm1.Button1Click(Sender: TObject);
var MyExcel : ExcelApplication;
begin
MyExcel:=CoExcelApplication.Create;
case MyExcel.LanguageSettings.LanguageID[$2] of
   1049 :  ShowMessage('Rus');
   1033 :  ShowMessage('Eng/USA');
   1031 :  ShowMessage('Germ');
   else  ShowMessage('ÕÇ... See : MS SDK Help "Language Identifiers". No : '+ inttostr(MyExcel.LanguageSettings.LanguageID[$2]));
   end;
end;

соответственно подключать модуль Office в таком случае не нужно...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.