|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2010, 17:23 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Организация структуры данных
Я бы хотел посоветоваться с гуру. Ситуация такая:
Есть набор скриптов, назовем их условно "Программа", которые обеспечивает ввод необходимых данных, их обработку, сохранение и формирование таблиц нужного образца. Данные делятся на виды: 1. данные по объекту. 2. данные на фирму. 3. шаблоны таблиц. Скрипты и данные по объекту хранятся в одном файле. Шаблоны хранятся в отдельном файле *.xls. данные на фирму хранятся в txt файле. Есть следующие неудобства: 1. Из-за хранения макросов и данных по объекту в одном файле, проблематично внесения изменения в текст макросов. Так как изменения не будет затрагивать ранее сохранных файлов. Так же при открытие нескольких файлов по сути открываются несколько наборов скриптов. 2. Для работы с шаблонами необходимо что бы файл с ними был открыт. сейчас он открывается в ручную, что как понимаете не удобно. Данные из файла с шаблонами переносятся путем копирования. Что я хочу: 1. Отвязать макросы от файла с данными. Тем самым изменения в макросах будут автоматически распространяться на все файлы данных по объекту. 2. Научить программу работать с шаблонами не открывая файл. Пути решения я вижу только в открытие файла с шаблонами и файла с макросами в фоне. В екселе это возможно с использованием файлов *.xla Для чего я думаю будет рационально объединить шаблоны и макросы в один файл. Возникают следующие вопросы: 1. Стоит ли вешать файл *.xla на весь ексель, или лучше при загрузке файла с данными проверять если уже открытые книги с данными, и если нет таковых подключать файл *xla. Есть таковые есть, используем уже открытые файл. При закрытие книги с данными проверять, а остались ли другие книги, если таковых нет отключаем файл *.xla 2. Или один раз подключать файл *.xla на весь ексель и не загоняться по этому вопросу. В этом случае где лучше хранить файл *.xla. Ексель упорно подставляет локальный каталог на машине, а мне бы думается что лучше хранить не сетевом диске. Тогда заменив один файл, он заменяться для всех машин. Мне почему-то больше нравиться первый вариант. 3. При любом раскладе появиться такая проблема. Часть информации я храню в переменных екселя. Например: название фирме, телефоны, адрес и т.п. Они являются одинаковыми (общими) для всех книг с данными по объектам. Рационально было бы их так же вынести в *.xla файл. Но как к ним в таком случае обращаться из макросов? Или наоборот как из макросов хранящихся в *.xla обратиться к переменным екселя в книгах с данным по объектам работ (адрес объекта работ, дата заключения договора и т.п.). 4. То же самой актуально для списков. Сейчас данные для списков хранятся в листе "Справочник", он в 99% будет одинаков для всех книг с данными по объектам. И было бы рационально перенести его в *.xla файл. Будут ли у кого мысли по данной теме?
С уважением, Алексей.
|
19.04.2010, 17:32 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Мое мнение,хранить все в таблицах в Ацессе,свяжете таблицы.А взять в Excel любую инфу в любом виде всегда можно конкретным запросом.
я думаю много проблем сразу отпадет
Анализ,обработка данных Недорого
|
19.04.2010, 17:35 | #3 | |||||||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Просто создаю папку Шаблоны, в которой находятся файлы XLT - по одному файлу для каждого шаблона. Цитата:
Не знаю таких... Цитата:
В XLA создаёте лист с кодовым именем (например, Settings)? и обращаетесь к ячейкам примерно так: x= Settings.[a1] Если же записывать данные в имена файла XLA - то ещё проще: x = [Имя] Цитата:
Код:
Цитата:
Кстати, XLA - это тот же XLS, только с изменённым свойством thisworkbook.IsAddin =True Цитата:
Хороший совет, особенно учитывая количество этих ваших таблиц... |
|||||||
19.04.2010, 21:13 | #4 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
И как же я там буду хранить таблицы Excel? Для меня важно форматирование, границы ячеек, вырвавнивание, размер шрифта и т.п. Есть критичные параметры. А так же не мало важное возможность быстрого и простого исправления шаблонов.
С уважением, Алексей.
|
|
19.04.2010, 21:28 | #5 | ||
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Эээ... те которые задаются из экселя и доступны из VBA по Name. Тут меня уже поправляли что грамотно называть это "имена", но мне как-то религия не позволяет. (Имя чего? Человека, планеты или господа?) Хотя тут возможно я и не прав. Я пока еще не пробовал. Нахожусь на стадии проектирования. Как я понимаю, это долно рабоать без проблем. Цитата:
А я его этому не обучал умышленно. Открывать из макроса файл так что бы он не появлялся физически в окне задач я не умею. И решил что пока пусть открывается явно. Тем более что это нужно делать один раз в день - утром. Только вот я его не оценил. В этом вопросе я чайник. Хотя и без свистка. Как же все таки лучше подключать *.xla? Один раз для всего Excel, или проверять подключени при каждом запуске. И где лучше хранить сам файл?
С уважением, Алексей.
|
||
20.04.2010, 21:14 | #6 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Почитал я материал о XLT. Интересно... Но я не вижу пока как могу это использовать. Вернее, как использовать для создания таблиц. Вся штука в том, что таблицы у меня не постоянной длины. Они собираются как пазлы из данных из разных листов и переменных. А шаблоны по сути раздираются на отдельные строки, которые по мере надобности копируется в собираемую таблицу. Одна и та же строка или группа строк, при необходимости, может быть скопирована много кратно, при чем иногда не линейно.
С уважением, Алексей.
Последний раз редактировалось tae1980; 20.04.2010 в 21:23. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Структура и организация данных. Литература. | JeyKip | Общие вопросы C/C++ | 1 | 25.10.2009 23:32 |
Курсовой по дисциплине "Структуры и организация данных в ЭВМ" (БНТУ) | alex_fox | Фриланс | 4 | 19.10.2009 09:17 |
Организация данных в виде строк. | Dmitry_F | Общие вопросы C/C++ | 1 | 20.09.2008 18:22 |
Организация данных в множестве | Сапфира | Помощь студентам | 5 | 13.04.2007 07:04 |