Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Excel - нумерация столбцов(A-Z) |
Автор: uranpro 31.7.2008, 11:16 |
сделал отчет, в котором много столбцов. проблема в том, что программа автоматически наращивает их.. выдает ошибку, когда я пытаюсь обратиться к столбцу chr(ord('Z')+1) ... есть нумерация формата RICJ как ее использовать ? пытаюсь обратиться к ячейке: range('R1C1').value |
Автор: Данкинг 31.7.2008, 11:34 | ||
Не совсем понял, что тебе нужно. Но вроде обращаются так:
|
Автор: uranpro 31.7.2008, 11:42 |
Данкинг, можно обращаться и так... кто как хочет)) как мне программно обратиться к столбцу, который идет после Z .. к AA есть формат нумерации столбцов, допустим было A1 а теперь R1C1 - (R-row; C-column) только как его использовать в программе ? |
Автор: uranpro 31.7.2008, 12:37 |
ребят, мне легче использовать R1C1 т.к. столбцов в отчете 30 это мне надо создавать отдельный модуль преобразования номера в название столбца. пример: входит 1 выходт A, входит 25 выходит AA, и тд... понимаете в чем проблема ? Добавлено через 1 минуту и 10 секунд программа работает с excel, не человек.. все надо делать программно. |
Автор: Albinos_x 31.7.2008, 12:45 |
здесь я писал об этом: http://forum.vingrad.ru/forum/topic-84634.html |
Автор: uranpro 31.7.2008, 14:14 | ||
Albinos_x, хочешь сказать, что тут только один вариант ?
а по R1C1 обращаться нельзя ? или по номеру |
Автор: Poseidon 31.7.2008, 18:08 |
Ячейки в Экселе (тут Эксель подразумевается не сама программа, а OLE-обьект) нумеруются А1, В1 и т.д. Представление в виде R1C1 делает сам Эксель (программа). Поэтому ты не можешь на прямую обратится к Ole-обьекту и попросить у него ячейку R1C1. Он таких не знает. Либо конвертировать R1C1 в А1, либо сразу запрашивать А1. Кстати, это в последних версиях Экселя (программы) появилась такая "фишка" как R1C1. Ранше было только А1. |
Автор: Albinos_x 31.7.2008, 18:38 |
два варианта... а способов реализации ещё больше)))) |
Автор: uranpro 1.8.2008, 10:06 |
Poseidon, Albinos_x, спасиб, понятно) |
Автор: RockClimber 1.8.2008, 10:56 |
uranpro, в принципе, в экселе на лист можно вставить функцию "АДРЕС" ("ADDRESS" в английской версии), которая возвращает адрес вида "А1" по заданному номеру строки и столбца. Правда проблема в том, что, в отличие от других функций экселя, она отсутствует в объекте Allication.WorksheetFunction. Если она там есть (или есть где-то еще), только называется сильно иначе, ее можно было бы вызывать из Delphi... |
Автор: Zmitro 4.8.2008, 08:51 |
cells(2,8) где 2 - номер строки, а 8 - номер столбца |
Автор: uranpro 4.8.2008, 10:33 |
всем спасибо!) |