![]() |
|
Модераторы: mihanik |
![]()
|
|
| kashemirny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 12.11.2007 Репутация: нет Всего: нет |
Всем привет!
Сильно не пинайте... Есть проблема следуещего характера: существует книга Excel, назовем ее "Журнал" - это база, и другая книга, назовем ее "Ввод данных", в которой содержатся макросы, которые берут данные из одного листа Журнала и переносят их на другой лист Журнала, при этом создаются новые сроки в последнем листе. Например, в форму "Ввод данных" вносят номер 1547 - отображается данные по данному товару, все его характеристики, количество в остатке - при этом вручную указывается сколько необходимо взять из остатка (со склада), например 40 шт. - при нажатии на кнопку "Снять со склада" на лист "Отгрузка" добавляется строка с номером, количеством, характеристиками, ФИО отгрузившего и прочая информация. Макросы книги "Ввод данных" работают со скрытыми листами "Журнала" - на время открывают (разворачивают) листы, копируют данные из одного листа в другой, а после того как отработали - сворачивают листы, оставляя лишь один лист с фоновой картинкой. Пока все работает на честном слове, но теоретически может возникнуть проблема "продвинутых пользователей" Excel, которые смогут проникнуть в Журнал и ВРУЧНУЮ изменить количество товара на складе с нехорошей целью (списание товара со склада). Необходимо защитить "Журнал" от посягательства всеми доступными способами: паролями на листы (для того, чтобы при открытии "Формат-Лист-Отобразить" выскакивала форма ввода пароля), паролем на проект VBA (разобрался как установить пароль, но не знаю как в макросах из "Ввода данных" обратиться к запаролленому проекту VBA для того чтобы пройти авторизацию). Жду ваших идей! С уважением. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| FINANSIST |
|
||||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 13 Всего: 23 |
Учёт таких вещей в Эксель - реальная опасность для организации Даже если в Лист6 (Инфа в столбцах А и В) , сделать цвет шрифта белым и защитить его от выделения пользователем, а затем ПРОГРАМНО (Sheets("Лист6").Visible = xlVeryHidden) скрыть (не отображаются через Формат/Лист/Отобразить), то следующий код элментарно его просканирует и выведет информацию по листу
Кстати, для получения в код данных скрытого листа, вовсе не обязательно данный лист отображать (пример в том же коде выше) Однако просмотр просмотром, а защитить лист програмно от изменений всё же вполне возможно
Но не следует забывать, что при таком раскладе сам модуль необходимо так же защитить от чтения пользователем кода (в т.ч. и пароля листа) ![]() Но даже в этом случае, в инете полно программ-взломщиков паролей office, в том числе и модулей VBA Это сообщение отредактировал(а) FINANSIST - 19.3.2009, 18:17 -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
||||
|
|||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
А если учесть, что Майкрософт недавно открыла спецификации офисных форматов, а тексты даже защищенных макросов хранятся в незашифрованном виде, то даже программа-взломщик не нужна. Библиотеки, читающие офисные форматы, вроде уже появились. Короче, 1С и ее аналоги вам в помощь. -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
| kashemirny |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 12.11.2007 Репутация: нет Всего: нет |
Спасибо за ответ, но этот вариант слишком сложен, ибо тянет за собой разработку приложения с нуля, поэтому не подходит и даже не рассматривается( 2FINANSIST Попробовал ваш вариант - спасибо, все очень неплохо работает, даже функция ВПР и непосредственная связь с ячейчами "глубоко скрытого" защищенного листа. Пока еще не все ньюансы проверил - переписываю макросы. Единственное, не понял, как можно переносить значения из листа в лист, не открывая последний?
Не страшно. Кто будет заниматься взломом, девочки, которые умеют лишь жать на кнопки?) Полагаю, что нет. 1Сv8 - слишком дорогая в обслуживании система, которая требует постоянных доработок со стороны разработчиков (своих программистов нет, и не предвидится). Работа будет вестись в Excel. |
||||
|
|||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Возьмите хотя бы access тогда... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
| FINANSIST |
|
||||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 13 Всего: 23 |
kashemirny, Биг сорри за
Путь автоматизации зависит от существующего и потенциального возможного функционала модели(системы) Если отойти от теории автоматизации то для себя я выделил 3 типа моделей: 1) Аналитические 2) Учётные 3) Учётно-Аналитические Первый тип подразумевает выполнение над входящими данными глубоких аналитических процедур (ну например проведение Финансового анализа, Инвестиционного анализа, Статистического либо Мат.анализа), что подразумевает гибкость информационной среды в рамках процедуры анализа. Считаю что ,для этого функционала, Excel (+VBA) из условно-бесплатных - вне конкуренции Второй тип - формирование учёта на предприятии : Складской учёт, Бухгалтерский учёт, Бюджетирование Однозначно - к Вашим услугам любая условно бесплатная СУБД : Либо настольная (Access+VBA - до 5 юзеров в отделе) либо клиент-серверная (MS SQL Server Express Edition либо Oraqle 10G Express Edition - 4 гигов для учёта в небольшой организации хватит без проблем, а плюс ещё и защита информации от несанкционированного доступа да ещё и Роли для юзеров в нагрузку Третий тип - полномасштабные версии второго типа с мощными аналитическими алгоритмами (тут по деньгам уже не каждая организация потянет) Судя по у тебя типичная учётная система, и реализация её в Excel - это даже не полумера, это пустая потеря твоего времени. Как ты думаешь в Excel вести Партионный учёт поступлений/списаний каждого SKU??? ( Я не говорю уже о том что помимо физического партионного учёта руководство желает видеть ещё и финансовый партионный учёт) На твоём месте я формализовал бы существующие бизнес процессы, на основе формализации начертил бы схему данных (хотя бы карандашом на бумаге) , откатал бы систему по части логики и интерфейса в любой настольной БД (Хотя бы в том же Access , он в составе Office и за него дополнительно платить не надо), а затем с учётом наработанной системы, плавненько переводил бы всё на тот же MS SQL Server Express Edition ( - за него так же дополнительно платить ничего не надо) с клиентами на Access. Учитывая что оба - продукты мелкомягких, подружаться они без проблем: Пользовательский Интерфейс - на клиенте, Справочники, журналы и прочая приблуда - на сервере, Бизнес логика - часть на клиенте (VBA) часть на сервере (Тригеры), Отчёты - на твой вкус либо клиент, либо Excel (OLAP Cubes) либо сервер (качай тогда версию с функционалом отчётности "...Advanced..." чего то там) А с Экселем заканчивай уже - он для анализа
Напрямую
Это сообщение отредактировал(а) FINANSIST - 25.3.2009, 12:41 -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
||||
|
|||||
| FINANSIST |
|
|||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 13 Всего: 23 |
А девочки порой попадаются на удивление смышлённые -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
| kashemirny |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 12.11.2007 Репутация: нет Всего: нет |
FINANSIST
большое спасибо за разъяснение моделей... с вами полностью согласен.... но для того чтобы написать подобную систему нужно изучить сложные программые продукты, а времени и так нет.... так что возможно, к этому приду когда будет много времени....
реально работает, огромный сеньк! но! все равно без смены фокуса 2х открытых книг не обойтись....или я что-то не понимаю.... я обращаюсь из "Ввод данных.xls" в Журнал:
и уже потом цикл:
Есть ли возможноть напрямую обращаться к другой книге? Это сообщение отредактировал(а) kashemirny - 17.4.2009, 16:39 |
||||||
|
|||||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Можно так:
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |