Zimus |
Отправлено: 02.10.2003, 07:15 |
|
Не зарегистрирован
|
Добрый день!
Народ подскажите как можно из программы объединять ячейки в Excel
я что то не могу найти как можно выделить диапазон имея
номер строки и колонки начальной ячейки и номер строки и
колонки конечной ячейки.
т.е. если пишу
WorkSheets.OlePropertyGet("Range","A1:B2");
то все работает нормально но у меня только номера столбцов
я пытался вот так
WorkSheets.OlePropertyGet("Range","R1C1:R2C2");
но вылазет ошибка.
Подскажите если кто знает как выделять диапазоны по кардинатам ячеек.
Очень надо! Плиззз. |
|
Borgir |
Отправлено: 02.10.2003, 08:53 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 48
|
Что-то я не понял. Ведь "A1:B2" — это и есть диапазон ячеек. А1 — начальная, а В2 — конечная. Так что же тогда автору надо? |
|
Zimus |
Отправлено: 02.10.2003, 09:23 |
|
Не зарегистрирован
|
мне надо имея номер колонки и номер строки начала диапазона и номер колонки и строки конца диапазона выделить диапазон
я не знаю какая буква колонки я знаю только номер
|
|
Borgir |
Отправлено: 02.10.2003, 12:05 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 48
|
Так преобразуй номер колонки в соответствующую букву.
Самое первое решение, приходящее в голову, это если колонок будет не больше 26, то создай строку со всеми буквами попорядку
AnsiString aa="ABCDEF.....XYZ";
а затем находи нужную букву:
aa.SubString(Col,1);
где Col — номер колонки (нумерация с 1)
Хотя наверно существуют и более изящные решения |
|
Zimus |
Отправлено: 02.10.2003, 12:25 |
|
Не зарегистрирован
|
такой вариант конечно интересен но не приемлем т.к. количество колонок в ряде случаев будет достигать 100 и более |
|
Borgir |
Отправлено: 03.10.2003, 05:48 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 48
|
Ну тогда может кто еще придумает другой вариант. Главное, что проблема не в EXCEL'е. А перевести число в буквы, это уже дело техники. А вообще можно попробовать в EXCEL'е в настройках поставить на закладке "Общие" галочку "Стиль ссылок R1C1", может при этом можно будет к ячейкам обращаться по номерам строки и столбца. |
|
Zimus |
Отправлено: 03.10.2003, 06:55 |
|
Не зарегистрирован
|
Ну вот и решение созрело
Cell=WorkSheets.OlePropertyGet("Range",WorkSheets.OlePropertyGet("Cells",Coln,Rown),WorkSheets.OlePropertyGet("Cells",Colc,Rowc));
Coln, Rown, Colc, Rowc — енто переменные int
----------------------------------------------------
если долго мучится что нибудь получится |
|