Страница 1 из 2

Excel. Построить дерево TreeView

Добавлено: 10 фев 2010, 14:35
Avsha
Приветствую!

Все знают и хорошо помнят объект формы TreeView, строящий дерево элементов.
Его можно заполнять только программно, через код VBA.

Есть ли какой-либо готовый объект (готовая программа) для построения дерева в Excel или еще где, который просто конфигурируется каким-либо списком (файлом, массивом), а не в ручную и не программно?

Re: Excel. Построить дерево TreeView

Добавлено: 10 фев 2010, 22:46
Busine2009
Я не знаю такого.

Re: Excel. Построить дерево TreeView

Добавлено: 10 фев 2010, 23:39
mc-black
Тоже не знаю такого. Но в VBA позволено создавать модули классов (Class Module). Можно один раз написать класс многоразового использования и потом таскать его с собой в любой нужный проект, да еще с исходниками. Как вариант можно попытаться строить TreeView на API, сложность только с hWnd у UserForm. Или создать свой собственный ActiveX Control на VB6 к примеру как оболочку вокруг TreeView. Интересная идея. Никто не хочет потрудиться и сделать свой бесценный вклад в фонд opensource? ;)

Re: Excel. Построить дерево TreeView

Добавлено: 11 фев 2010, 10:10
Avsha
спасибо...
а использование формата xml и его представление в Excel может как решит проблему ?

Re: Excel. Построить дерево TreeView

Добавлено: 11 фев 2010, 17:53
Aent
Avsha, не очень понял что вы хотите получить. Конечно можно описать дерево на XML и импортировать его в EXCEL. Но будет ли это удобно?
Не очень понятно в чём суть задачи ? Переносить деревья между компьютерами ?
Само дерево можно и эмулировать на рабочем листе EXCEL...
Возможно вам поможет: http://www.15seconds.com/issue/030827.htm

Re: Excel. Построить дерево TreeView

Добавлено: 12 фев 2010, 11:27
Avsha
Aent, спасибо...

моя задача следующая...
1. Формируем структуру (содержимое) дерева в виде списка в удобном редакторе (например в Excel)
например такого формата...
---------------------------------
01.00.00.0.01,Завод,
01.01.00.0.02,Участок,
01.01.01.1.32,Технологическая схема участка 1,c:\source\file01.jpg
01.01.02.1.32,Технологическая схема участка 2,c:\source\file02.jpg
и т.д.
--------------------------
структура полей:
[01]Раздел / [01]Подраздел / [01]Пункт / [1]Признак выполнения команды операции (0/1) / [00]Номер иконки / [String]Наименование пункта / [String]Команда операции

2. Каким-либо объектом строим дерево по списку, созданным в п.1
первое - для просмотра
второе - для выполнения операции
в простейшем случае объект должен иметь на выходе одну текстовую переменную - выбранную строку определенной команды операции

Можно конечно запрограммировать TreeView,
но думал есть какой-то готовый объект типа календаря,
которому можно подсунуть список структуры в заданном формате , а он уже выдает результат выбранного пункта.

Или как-то преобразовать список, созданный в п.1 в xml, а затем уже просмотреть другим приложением?

Re: Excel. Построить дерево TreeView

Добавлено: 12 фев 2010, 19:23
Aent
А зачем другое приложение ?
IMHO правильнее сделать обвязку для вашего листа EXCEL:
показывать иконки, скрывать и разворачивать узлы и т.п.
Хотя, если задача состоит в удобном просмотре, то, конечно, можно и генерировать html
см. например:
http://rollerjm.free.fr/pro/Treeview/Treeview.html
http://www.treeview.net/treemenu/3fr_beenthere.html
http://www.artlebedev.ru/tools/technogr ... /treeview/
http://www.codeproject.com/KB/scripting ... eview.aspx

Re: Excel. Построить дерево TreeView

Добавлено: 15 фев 2010, 11:13
Avsha
Aent, спасибо..., что вправили в нужное русло мои фантазии....

Буду делать нормальную обвязку TreeView в среде Excel :) тем более какие-то наработки уже есть...
------------------------
Microsoft Windows Common Controls 6.0 (SP6)
C:\WINDOWS\system32\MSCOMCTL.OCX
TreeView
ImageList
-----------------------------

Просто надеялся, что можно набить конфигурацию дерева в Excel,
превратить ее в какой-нибудь универсальный формат данных представления дерева, например xml,
и открыть таким же универсальным и готовым объектом... ;(

Re: Excel. Построить дерево TreeView

Добавлено: 15 фев 2010, 19:35
Aent
Avsha, под "обвязкой" я имел в виду отнюдь не контрол на листе, а добавление к листу со сформированной в Excel структуре дерева необходимой функциональности.
Что же касается
Просто надеялся, что можно набить конфигурацию дерева в Excel,
превратить ее в какой-нибудь универсальный формат данных представления дерева, например xml,
и открыть таким же универсальным и готовым объектом...
То какой объект есть -web броузер, понимающий DHTML :)
Cоответствующий код получается с помощью XSLT для экспортированного из EXCEL XML файла c данными.
Правда, интуиция подсказывает мне, что вероятно проще будет сразу создавать DHTML из VBA.

Re: Excel. Построить дерево TreeView

Добавлено: 16 фев 2010, 10:15
Avsha
Aent,
так если все есть, может приведете небольшой примерчик реализации,
чтобы начать изучение этих, мне непонятных DHTML, XSLT и XML с живого примера ;)

Свою реализацию дерева с помощью формы VBA и объектов TreeView в Excel
собираюсь также привести ...