Вниз
Скачать: CL | DM;

Подскажите, как можно узнать какие ячейки выделенны в Excel?   Найти похожие ветки 

← →
Ilya___   (2005-01-16 13:15) [0]

Подскажите, как можно узнать какие ячейки выделенны в Excel?
Так я узнаю индекс выделенной ячейки:

var
 Col, Row: Integer;
 XLApp,
 WS: Variant

begin
 XLApp := GetActiveOleObject(XLAppVersion);

 Col := XLApp.Selection.Column;
 Row := XLApp.Selection.Row;

А как это узнать, если выделено несколько ячеек или получить
доступ к массиву выделенных ячеек (если таковой имеется) ?


← →
YurikGL ©   (2005-01-16 13:24) [1]

Попробуй что-то типа

selection.Range.Top.
selection.Range.Left
selection.Range.Width
selection.Range.Height


← →
Ilya___   (2005-01-16 14:46) [2]

А как можно присвоить выделенным ячейкам значения?
Например:  
var
 va: variant;
begin
 VarArrayCreate([1, 2], varInteger);

 XLApp.Selection.Range.FillRight(VA);
end;

Но только так не работает.


← →
olookin ©   (2005-01-16 15:17) [3]

procedure WriteRange(BookName,SheetName: Ansistring; Col,Row: integer;
var Value: Variant);
...
 if VarIsArray(Value)=false then begin tr:=Row; tc:=Col; end else begin
 if VarArrayDimCount(Value)=1 then begin
 tc:=Col; tr:=Row+VarArrayHighBound(Value,1); end;
 if VarArrayDimCount(Value)=2 then begin
 tc:=Col+VarArrayHighBound(Value,2);
 tr:=Row+VarArrayHighBound(Value,1); end; end;
 Excel.Workbooks[k].Sheets[j].Range[
 Excel.Workbook[k].Sheets[j].Cells[Row,Col],
 Excel.Workbook[k].Sheets[j].Cells[tr,tc]]:=Value;
...


← →
Ilya___   (2005-01-16 16:38) [4]

Спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1106117795
Гость
2005-01-19 09:56
2005.01.30
daysBetween


1-1106216212
New User
2005-01-20 13:16
2005.01.30
Бинарный алгоритм сортировки массива


8-1098206789
clampo
2004-10-19 21:26
2005.01.30
Ресурс


1-1106134081
Putnik
2005-01-19 14:28
2005.01.30
Распределение случайных чисел


14-1105440508
Povetrulya
2005-01-11 13:48
2005.01.30
Question (language C)




   Наверх