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

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

разделение строки на число и букву [D6, XP]


kate158 ©   (2009-12-08 14:44:00) 

Есть переменная вида $O$6.(ячейка в экселе).
var
    FindRange : Variant;

хочу увидеть строку и столбец.
есть такая штука:

showmessage(FindRange.address);

которая показывает вместе столбец и строку , типа $O$6.
как узнать адрес столбца($O) и строки ($6) ? в экселе помимо адреса $O$6 может быть и $OA$6.
и еще вопрос. почему не работает код
showmessage(E.Sheets[1].range[''''+FindRange.address+'''']);


Плохиш   (2009-12-08 17:43:00) [1]


> kate158 ©   (08.12.09 15:01) [5]
>
> так работает
> showmessage(E.Sheets[1].range[ '$O$6']);
> а так
> showmessage(E.Sheets[1].range[ ''''+FindRange.address+'''']);
>

Может всё-таки пора уже прочитать про правила синтаксиса для используемого языка программирования?


sniknik   (2009-12-08 16:15:00) [2]

> наверное придется определять знак $, а затем копировать инфу что есть строка, что столбец.
блин, ну не может быть...
если верно
[5]
> так работает
> showmessage(E.Sheets[1].range['$O$6']);
и это
[0]
> showmessage(FindRange.address);
> которая показывает вместе столбец и строку , типа $O$6.
то просто обязано работать такое
showmessage(E.Sheets[1].range[''+FindRange.address]);


clickmaker   (2009-12-08 15:47:00) [3]

если showmessage(FindRange.address) показывает вместе столбец и строку , типа $O$6.
то там и есть $0$6
showmessage при всем желании не сможет показать символы, которых нет в строке


kate158   (2009-12-08 15:34:00) [4]

наверное придется определять знак $, а затем копировать инфу что есть строка, что столбец.


kate158   (2009-12-08 15:32:00) [5]

в range передается область. из которой потом нельзя выцепить ни строку ни столбец. вот.


sniknik   (2009-12-08 15:25:00) [6]

> зачем вообще кавычки
привести к строке

> ну VarToStr на крайняк
не вариант, т.к. не отвечает на вопрос "почему не работает код". (он просто сделает другой рабочий :))


clickmaker   (2009-12-08 15:17:00) [7]

если в range нужна строка, и в address тоже строка, зачем вообще кавычки?
ну VarToStr на крайняк


sniknik   (2009-12-08 15:17:00) [8]

> в range передается ячеейка как 'O6'
вот это вряд ли, передается оно туда как строка, а кавычки это показатель строк в дельфи... и кавычкам вовсе нечего делать в самой строке для показателя что это строка... только если значение строки с кавычками, а тут это не так.


sniknik   (2009-12-08 15:12:00) [9]

> не работает.
уменьшать по одной, а не ставить...
до рабочего варианта.


kate158   (2009-12-08 15:09:00) [10]

to sniknik
так showmessage(E.Sheets[1].range['+FindRange.address+']);
не работает.
to clickmaker
в range передается ячеейка как 'O6'


sniknik   (2009-12-08 15:05:00) [11]

> а кавычки там зачем?
ой., точно. а я их скобками называю. сорри.


sniknik   (2009-12-08 15:04:00) [12]

> переменную не нужно переводить в другой формат?
сложение варианта со строкой уже перевод его в другой формат. но скобок многовато...


clickmaker   (2009-12-08 15:03:00) [13]

> [5] kate158 ©   (08.12.09 15:01)

а кавычки там зачем?


kate158   (2009-12-08 15:01:00) [14]

так работает
showmessage(E.Sheets[1].range['$O$6']);

а так
showmessage(E.Sheets[1].range[''''+FindRange.address+'''']);

переменную не нужно переводить в другой формат?


KilkennyCat   (2009-12-08 14:57:00) [15]

http://topic.csdn.net/t/20060119/23/4526440.html


sniknik   (2009-12-08 14:57:00) [16]

и вот так?
showmessage(E.Sheets[1].range['$O$6']);


kate158   (2009-12-08 14:51:00) [17]

'OLE ERROR 800AO3EC'


sniknik   (2009-12-08 14:50:00) [18]

> почему не работает код
может потому что скобок слишком много? попробуй уменьшить... по одной.


Наверх

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