Среда, 24.01.2018, 08:28
Поиск
Никнэйм
Сертификат на никнейм Olelucoye, зарегистрирован на Тимофеев Константин Михайлович
Зарегистрируй свой никнейм
Обратная связь
olelucoye.tk@yandex.ru
Реклама AdSense
Реклама
Друзья сайта
  • Лига медицинского права
  • Гостиница "Зай"
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Excel

    Как сделать полноценное приложение на основе Excel (часть 2)

    Продолжаем тему начатую в предыдущей статье. Для чего нужны строки в коде обработчика Workbook_Open вида:

    Sheets("Protokol").Select
    ActiveSheet.Unprotect

    Эти строки снимают защиту от редактирования с листов рабочей книги. А включается защита при нажатии кнопки Выход. Выглядит это так:

    Sheets("Protokol").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False

    Эта защита не обезопасит от целенаправленного изменения данных, но если пользователь ненамеренно откроет Рабочую Книгу без запуска программы, сможет уберечь от случайной порчи данных в таблицах.

    Далее идет такой код:

    ThisFileName = ThisWorkbook.Name
    If ThisFileName = "Up 1-0.xls" Then
    Call UpdateUserBook
    Else
    Main.Show
    End If
    End Sub

    Этот код проверяет имя запущенного файла Excel. Форма Main открывается только в том случае, если имя файла не "Up 1-0.xls", иначе вызывается процедура UpdateUserBook. Это процедура обновления модулей программы. Т.е. если нужно распространить новую версию программы, но нужно сохранить все данные набранные ранее, нужно файл новой версии переименовать в "Up 1-0.xls" и передать его пользователям. Если расположить его в папке с файлом старой версии и запустить, он обновит старые модули программы на новые не затрагивая данных на листах Рабочей Книги. Код процедуры UpdateUserBook можно посмотреть в папке Modules в модуле UpgradeApp.

    Для того чтобы модуль обновления мог вносить изменения в код модулей и сами модули, в параметрах Excel должен быть включен доступ к объектной модели VBA. Находится эта настройка в меню Сервис->Параметры->Безопасность->Безопасность макросов->Надежные издатели->Доверять доступ к Visual Basic Project.

    Модуль UpgradeApp можно использовать в любой другой программе, нужно только изменить имя обновляемого файла. Кстати, в модуле обновления не предусмотрена проверка текущей версии приложения. Поэтому, если файл "Up 1-0.xls" будет иметь версию ниже текущей версии программы, произойдет даунгрейд. 

    Итак, теперь программа имеет функцию обновления кода. В следующей статье я расскажу как скрыть от пользователя факт использования Excel.

    Сам файл все еще тут

    Делаем полноценное приложение на VBA часть1

    Делаем полноценное приложение на VBA часть3

    Многопользовательский режим работы в Excel

    Параметры безопасности макросов

    Интерфейс VBA редактора

    Категория: Excel | Добавил: Olelucoye (02.11.2013)
    Просмотров: 2150
    | Теги: vba, Excel, полноценное приложение | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Меню сайта
    Категории раздела
    Андроид разработка [23]
    libGDX [24]
    Мои андроид проекты [6]
    Excel [7]
    Железяки [5]
    Скрипты в блокноте [4]
    Разное [1]
    Форма входа
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Яндекс Метрика
    Яндекс.Метрика