Автоматизация изменения кода Excel VBA для нескольких пользователей - PullRequest
0 голосов
/ 18 февраля 2019

Я создал книгу Excel с большим количеством кода за кулисами.Иногда мне нужно обновить кодировку.Как правило, я создаю новую версию рабочей книги и сохраняю ее на личный сетевой диск каждого человека.В идеальном мире они следуют простым инструкциям для загрузки новой и удаления старой версии.Но, конечно, этого не происходит.Кроме того, мой персонал растет, поэтому копирование этих отдельных рабочих книг для каждого члена команды становится громоздким.

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

1 Ответ

0 голосов
/ 18 февраля 2019

В Excel 2010 в центре управления безопасностью можно разрешить программный доступ к объектной модели VBA, щелкнув параметр «Доверительный доступ к объектной модели проекта VBA», единственный параметр в разделе «Параметры макроса»> «Параметры макроса разработчика».(Риск, который необходимо полностью разобрать, и если вы работаете в контролируемой ИТ-среде и можете противоречить политикам безопасности вашей организации!)

Сделав это, вы можете создать патч-книгу с поддержкой макросов "msgstr "чтобы открыть целевую книгу с поддержкой макросов.Затем, например, если бы вы работали на уровне модуля, приложение «patcher» могло бы следующее удалить старый код:

yourWorkbook.VBProject.VBComponents.Remove modYourModule

и затем обновить его с помощьюНовый код путем импорта заменяющего модуля:

yourWorkbook.VBProject.VBComponents.Import "c:\Users\Public\yoursource.bas"

Надеюсь, это поможет вам указать направление, которое вы ищете!

...