|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2009, 14:14 | #1 |
Пользователь
Регистрация: 22.07.2009
Сообщений: 18
|
Обновление связей между 2-мя и более книгами
Приветствую всех. Мучился мучился и решил обратиться здесь.. Собсно дело в следующем..
Имеется некий документ, у каждого из 15 менеджеров одинаковый. Каждый из них заполняет 7 граф из 10. После этого некий старший запускает у себя такой же документ, обновляет связи и видит обновившуюся инфу, заполняет последние три графы. Далее необходима обратная связь, т.е. первый менеджер обновляет связи и видит последние три графы заполненные. Вопщем это вся задача.. И ничего не выходит.. Возможно задача упрощается в связи с работой на одном компе (все работают в терминале под личными учетками), т.е. копии файлов лежат (1) C:\Documents and Settings\User1\Desktop\file.xls (2) C:\Documents and Settings\User2\Desktop\file.xls (3) .......... Друзья, помогите советом пожалуйста как быть, или мож ссылочку киньте на инфу полезную.. В любом случае буду благодарен! |
28.12.2009, 14:48 | #2 |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
У меня тоже была подобная проблема, но я не стал создавать кучу файлов а сделал один. и поместил в общедоступное место. Чтобы никто не мог видеть только свой лист (или серию листов) написал небольшой макрос - даже не стал закрывать его, пусть кто хочет изгаляется.
Смысл этого макроса был очень прост. При открытии книги по логину (имени пользователя) и по Ip адресу компьютера делал открытым нужный -ые лист -ы. остальные закрывал. На листе -ах открывал нужные для редактирования ячейки, остальные блокировал паролем. Таким образом, каждый пользовался своим листом -ами (данными) получая ответную реакцию от другого пользователя. При этом небыло необходимости в множестве книг. И хотя файлик стал большим (~15 Mb) все работают без особых проблем. Да чуть не забыл по умолчанию все листы закрыты от редактирования. |
28.12.2009, 15:16 | #3 |
Пользователь
Регистрация: 22.07.2009
Сообщений: 18
|
В макросах к несчастью я вообще не силен(( Спасибо за идею, но в моем случае не прокатит.. большинство пользователей будет коннектиться из удаленных офисов, а там они сидят на роутере, IP как правило динамические.. Да и старший этих всех менеджеров должен получать всю инфу на один лист, а не собирать ее с разных листов..
|
28.12.2009, 16:03 | #4 | |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
Цитата:
Что же касается получения информации на один лист, это тоже не проблема. Если в книги много листов, а кому-то необходимо видить только один то существует в макросе свойство листа Visible - по умолчанию оно равно -1 -xlSheetvisible, если его перевсти в 2 - xlSheetVeryHidden то вы его в книге просто не увидете. ( откройте пустую книгу и нажмите Alt+F11. На каждом листе увидете это свойство). Я бы рекомендовал Вам другой подход. Например, с использованием SQL сервера для хранения данных и заполнения его. В этом случае вся нагрузка по хранению, обработки и взаимодействию с внешнеми менеджерами легла на него. Что же касается создания такой программы, то это потребует не просто знания программирования, но и знания всей Вашей сети в том числе и програмного взаимодействия с внешними менеджерами. все это в конечном итоге приведет к необходимости иметь в штате хорошого админа умеющего программировать. Для него сделать такой макрос не сложно |
|
29.12.2009, 16:20 | #5 |
Пользователь
Регистрация: 22.07.2009
Сообщений: 18
|
В принципе справился) Нарисовал связи и все работает) однако решение задачи породило еще одну, тут уж я точно без помощи не справлюсь
Итак, имеем 2 книги, 15 пользователей и один старший, к которому через обновление связей стекается все информация в соответвующие листы (т.е. у каждого юзера по одному листу в книге, у старшего количество листов, соответствующее числу пользователей). Проблема в том что если ктото из юзверей решит навредить и удалит какую либо инфу у себя в журнале, после обновления у старшего эта инфа тоже пропадет, что недопустимо. Есть мысль создать документ у старшего, абсолютно идентичный оригинальному, которым он пользуется, только без связей. это раз. Во вторых некий макрос при обновлении связей будет дублировать всю информацию в запасной документ. Подскажите пожалуйста, где бы глянуть подобный код.. По логике процедура несложная да и код должен быть соответствующий.. |
30.12.2009, 07:55 | #6 | |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
Цитата:
Но если Вы желаете подход со связями то можно было бы сделать так. не писать связи в книги и обновлять их каждый раз ( или автоматически через определенный промежуток времени), а сделать это с помощью макроса. Как это делается много раз обсуждалось на форуме, например здесь или здесь Единственное что нужно понимать. Для для старшего книги "юзверей" быдут всегда закрыты, так же как и наоборот. Запуск макроса для старшего можно вывести на кнопку. что же касается юзеров то им можно не писать макросы а оставить связи с закрытой книгой. Чем хорош такой подход. Когда старший прочитал данные из книг юзеров то можно поставит условие сравнения данных и если они отличаються от тех которые были в книги до этого то она автоматически сохраняется под другим имененем (без участия человека). Это исключит сговор. Что же касается способа сохранения, то воспользуйтесь макрорекодером и вам станет все ясно. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переключение между книгами | stas77 | Microsoft Office Excel | 5 | 03.11.2009 19:00 |
Какое программирование в наше время более востребовано и более рентабельно? | iukash | Свободное общение | 18 | 29.10.2009 13:02 |
Обновление внешних связей | Григорьев Игорь | Microsoft Office Excel | 12 | 10.11.2008 11:33 |
Excel глюкает из-за большого количества формул и связей между листами? | Diva | Microsoft Office Excel | 1 | 07.08.2008 11:52 |
организация связей между таблицами | VenMaster | БД в Delphi | 4 | 28.05.2008 16:46 |