![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно получить диапазон Excel [D7, WinXP]
вик © (2004-10-18 09:33:00)Как можно получить диапазон ячеек которые выделены мышкой на активной странице в Excel
Ну очень надо!!! плиз
Мирон (2004-10-19 12:05:00) [1]вик © (19.10.04 8:22) [4]
Как оказалось, я тебя обманул. Сам раньше делал так:
MyRange := Range[...].Select;
MyRange.Value := '123';
НО!Полазив по справкам и поэкспериментировав, выяснил, что следующее работает:
var
Excel: TExcelApplication;
List: TExcelWorkSheet;
W: TExcelWorkBook;
R: Range;
...
List := TExcelWorkSheet.Create(Self);
List.ConnectTo(W.ActiveSheet as Excel97.ExcelWorksheet);
List.Range['A1', 'D10'].Select;
R := Range(Excel.ActiveWindow.Selection);
R.Value := 123;
...
а дальше, думаю, тебе остается в цикле пройтись по Selection:
for I := 0 to R.Rows.Count - 1 do begin
for J := 0 to R.Columns.Count - 1 do begin
Range[..] := ...
end;
end;
Сам ковыряй...
вик (2004-10-19 08:22:00) [2]А возможно, но как его использовать в делфях если можно киньте кусочек исходника. плиз ну очень нужно
Мирон (2004-10-19 03:39:00) [3]
> selected возвращает у меня начальную ячейку выделения
Уверен? Может не Selected, а Selection?
Если в VBA выполнить:
Selection.Value = 123
то заполнятся всеячейки выдленного диапазона.
И, по-моему, также у меня работало и из Delphi...
вик (2004-10-19 02:38:00) [4]selected возвращает у меня начальную ячейку выделения а я пытаюсь получить диапазон что бы не извращаться на каждой книге присваиванием диапазону имени TABLE для последующего импорта
типа
var IntRange:ExcelRange;
//...
IntRange := range ['TABLE',EmptyParam];
только место table хочу получить выделенные мышкой ячейки.
GuAV (2004-10-18 11:41:00) [5]WB.ActiveSheet.Selected ?