![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
разделение строки на число и букву [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]> почему не работает код
может потому что скобок слишком много? попробуй уменьшить... по одной.