Вниз
Скачать: 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.033 c
3-1103802934
ShotGuN
2004-12-23 14:55
2005.01.30
Как добавить несколько строк одновременно?


14-1105217453
Andrewp
2005-01-08 23:50
2005.01.30
mail.ru


1-1106046420
ShimON
2005-01-18 14:07
2005.01.30
Обработать выход из Windows


1-1105772635
Шишкин Илья
2005-01-15 10:03
2005.01.30
TShellListView


1-1105976906
SV
2005-01-17 18:48
2005.01.30
Библиотека для сканирования и распознавания изображения ?




   Наверх