Вопрос про тип Variant

Denis Lee

использую Variant для работы с объектами EXCEL// например получаю два варианта a и b, сылающиеся на объеты Var a,b : Variant;a:=Workbook.ActiveSheet; b:=Workbook.ActiveSheet;хочу их сравнивать if(a,b) ShowMessage('a=b');но ошибочка вылетает что нельзя, можно ли вообще так делать ?????????в догонку ещё вопрос t:=Sheet.Cells.FindNext;t.Formula:='=a1+a2'; // формула здесь кректнаяно в есцеле формула не считается а выводится что то типа #ИМЯ (вчера вечерком делал не помню), что только не делал так и неврубилсяв чём проблема может кто подскажет. А САМОЕ ИНТЕРЕСНОЕ КОГДА В САМОМ ЕКСЦЕЛЕ ОТКРЫВАЕШЬ ЯЧЕЙКУ ДЛЯ РЕДАКТИРОВАНИЯ (F2) А ПОТОМ СРАЗУ ЖЕ ENTER то результат всё считается, пробовал пересчитывать всё - не помогает - в чём проблема ???????????????????????????????
8 ответов

Denis Lee

<b>if</b>(a,b) ShowMessage('a=b');
Что за глупая запсь?Где then?


Denis Lee

Пардон if(a,b) ShowMessage('a=b');


Denis Lee

Пардон if(a,b) ShowMessage('a=b');
Запись не улучшилась...В КРАЙНЕМ случае:
<b>if</b> a=b <b>then</b>
showmessage('a=b');


Denis Lee

Пардонif a=b Then ShowMessage('a=b');ошибка не в этом, поспешил немного просто


Denis Lee

Если с Variant, ни кто не вкурсе то может подскажете где искать ответ на 2-й вопрос ???


Denis Lee

Проверил на простом примерчике сравнение двух variant -- прошло на ура...
<b>var</b> a, b: Variant;
<b>begin</b>
 a := Edit1.Text;
 b := Edit2.text;
 <b>if</b> a = b <b>then</b>
 Edit3.Text := 'True'
 <b>else</b>
 Edit3.Text := 'False';
<b>end</b>;
Может собака в другом месте зарыта?


Denis Lee

И вообще попробуй использовать OLEVarian. Этот тип в твоём случае лучше подходит.


Denis Lee

Лучше чем OLEVariant почему ?и третий вопрос как зделать то что я хочу с помощью OLEVariant :)