Проблемма такова, что есть одна надстройка Excel, которая производит специфические вычисления с использованием итераций. Необходимо извлечь из неё промежуточные данные, которые в зависимости от изменяющихся в процессе расчёта параметров тоже меняются. Вначале я написал макрос, который фиксировал все изменения в соотв. ячейках. Но при запуске на счёт — он не работал(видимо надстройка отключала реакцию Excel на события). Я написал аналогичную программу на Delphi, но возникла проблемма: в процедуре, которая выполняется при событии onChange в каком-либо листе данной книги, я не могу обработать присылаемые переменные Sh,Target:OleVariant.
Вот как выглядит моя процедура:
procedure TForm1.onSheetClik1(Sender: TObject; var Sh, Target: OleVariant);
var SheetI,CellmC:OleVariant;
begin
SheetI:=ExcelWorkBook1.WorkSheets.Item['Nodes'];
CellmC:=SheetI.Range['D4',EmptyParam];
//Вот тут и заключается проблемма
if CellmC=Target then begin
..............
end;
end;
И Target и CellmC дают похожие значения, типа "$765f43", но от этого сравнения Delphi на уши становится. В VBA я делал идентичную процедуру и всё прекрасно работало до запуска надстройки на счёт.Помогите, если кто-то знает, буду очень благодарен.