C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как получить АКТИВНУЮ ячейку Excel ?, всю голову уже сломал...
flash-ru
Отправлено: 16.09.2006, 12:42


Ученик-кочегар

Группа: Участник
Сообщений: 2



Всем привет.

Уже всю голову сломал
Такой вопрос: может кто знает?

Col:=ExcelApplication1.Range.Column;
Row:=ExcelApplication1.Range.Row;

Это способ получения координат активной ячейки при использовании в программе серверных компонентов(TExcelApplication)
А как получить координаты ячейки с использованием OLE?
Вот эта функция вставляет строку(data) в УКАЗАННУЮ ячейку(Row:Column)

CODE
//Sh-активный лист
void __fastcall TForm1::toExcelCell(int Row,int Column, AnsiString data)
{
try {
Variant cur = Sh.OlePropertyGet("Cells", Row,Column);
cur.OlePropertySet("Value", data.c_str());
} catch(...) {; }
}/* toExcelCell() */


А как получить эти Row:Column АКТИВНОЙ ячейки (т.е. той, на которой стоит курсор) ?

Отредактировано flash-ru — 16.09.2006, 12:55
SABROG
Отправлено: 16.09.2006, 13:56


Ученик-кочегар

Группа: Участник
Сообщений: 1



SQL
Variant row = XL.OlePropertyGet("Selection").OlePropertyGet("Row");
Variant col = XL.OlePropertyGet("Selection").OlePropertyGet("Column");
v1.OlePropertyGet("Cells",3,3).OlePropertySet("Value",row);
v1.OlePropertyGet("Cells",3,4).OlePropertySet("Value",col);
flash-ru
Отправлено: 16.09.2006, 14:08


Ученик-кочегар

Группа: Участник
Сообщений: 2



QUOTE (SABROG @ 16.09.2006, 13:56)
SQL
Variant row =  XL.OlePropertyGet("[color=blue;font-weight:bold]Selection"[/color]).OlePropertyGet("Row");
Variant col =  XL.OlePropertyGet("[color=blue;font-weight:bold]Selection"[/color]).OlePropertyGet("Column");
v1.OlePropertyGet("Cells",3,3).OlePropertySet("Value",row);
v1.OlePropertyGet("Cells",3,4).OlePropertySet("Value",col);

ВОТ МЛИН!

to SABROG: Отдельно огромное Спасибо! Все работает smile.gif

Вернуться в Вопросы программирования в C++Builder