Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Ilya___ ©   (2005-01-16 13:15:00) 

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

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

begin
 XLApp := GetActiveOleObject(XLAppVersion);

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

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


Ilya___   (2005-01-16 16:38:00) [1]

Спасибо!


olookin   (2005-01-16 15:17:00) [2]

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 14:46:00) [3]

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

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

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


YurikGL   (2005-01-16 13:24:00) [4]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо