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

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

Запись данных в Excel. Как найти заданную пользователем ячейку? [D7, WinXP]


Vidi ©   (2010-12-30 15:55:00) 

Друзья, вопрос в следующем: нужен какой-то аналог Закладок из MS Word или что-то в этом духе.
Задача: по определенным пользователями полям экспортировать данные в Excel.
Пример: пользователь делает шаблон и в нужной ему ячейке пишет что-то типа <здесь будет цена> и т.п.
Т.е. я заранее не знаю, где эта ячейка будет размещена.
В ворде есть замечательная вещь: Закладки, к которым можно обратиться по имени. В Excel я такой штуки не нашел.
Как быть?


Сергей М.   (2011-01-03 22:01:00) [1]


> так это же я сам


Ну так если ты укурился когда именовал диапазоны, то какие к нам-то претензии ?)


Ехель   (2011-01-02 13:38:00) [2]

что значит не отображаются?

"Нигде толкомне отображается" значит, что глядя на экран монитора,  ты не видишь расположение всех именованных диапазонов явно и одновременно. Не WYSIWYG, то есть.

в левом верхнем комбобоксе их полный список.

Такой список "особенно удобен" при сотне-другой именованных диапазонов. Смотришь, значит, на документ, и, желая найти ячейку с общей суммой по счету, телепатируешь, и решаешь, что называется эта ячейка никак не иначе, как TotalAmount... или AmountTotal?... кхм... TotalSum?... SumTotal?... Total?... Sum?... йо!... какой *** назвал ее SummaItogo?!... хех... так это же я сам. :о(
И так с каждой ячейкой...

Не говоря уже про то, что минимальный уровень абстракции в таком случае - целая ячейка. То есть, пользователю не получится вручную прописать в одной ячейке что-то наподобие:

#(TotalAmount)# #(Currency)# (#(AmountInWords)#) _________#(ManagerName)#

То есть, при применении именованных диапазонов, такие конструкции придется жестко прописывать в коде программы:

Range.FormulaR1C1 := TotalAmount + ' ' + Currency + ' (' + AmountInWords) + ') _____________ ' + ManagerName;

и при выборе в комбо диапазон фокусируется

Я не знаю, что ты имеешь в виду под "фокусируется", а как по мне, так диапазон в таком случае просто выделяется обычной рамочкой выделения. Шаг вправо, шаг влево - и ты уже потерял выделение. Не помнишь, где оно только что было?

Кроме того, попробуй создать именованный диапазон "234", только не плачь, хорошо?


Медвежонок ХМЛ   (2010-12-30 16:57:00) [3]

что значит не отображаются?
в левом верхнем комбобоксе их полный список.
и при выборе в комбо диапазон фокусируется.


Ехель   (2010-12-30 16:52:00) [4]

Именованные диапазоны хороши, но, увы, они толком никак не отображаются. То есть, для редактирования не очень  удобны.

Кроме того, в одной ячейке может быть несколько "чего-то типа <здесь будет цена>".

Простое решение - выбрать какой-то свой тег, со специфической сигнатурой, а затем по сигнатуре искать теги и заменять. Например, #(Price)#, где #( и )# - начальные и конечные сигнатуры, а Price - тег. Искать теги удобно родным поиском Excel по маске.

А именованные диапазоны хороши для посекционного формирования отчетов: заголовок, строки в цикле, подпись.


Медвежонок ХМЛ   (2010-12-30 16:31:00) [5]

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


Наверх

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