Экспорт модуля кода из надстройки в обычный шаблон - PullRequest
0 голосов
/ 15 января 2019

Я хочу экспортировать модуль VBA из надстройки и импортировать его в обычный файл, если его там еще нет. Мой код работает, когда я запускаю его вручную, но когда я пытаюсь запустить его автоматически после загрузки надстройки, я получаю сообщение об ошибке: «50289 Невозможно выполнить операцию, так как проект защищен». Я предполагаю, что это защищено, потому что это загружено как надстройка, но есть ли способ обойти это?

 Sub AutoExec()
    Call MoveAutoMacro
 End Sub

 Function MoveAutoMacro()

    Dim sPath, thisName As String
    Dim moduleCount, i As Integer
    Dim amExists As Boolean

    moduleCount = Application.Templates("Normal.dotm").VBProject.vbcomponents.Count
    amExists = False
    For i = 1 To moduleCount
           thisName = Application.Templates("Normal.dotm").VBProject.vbcomponents(i).Name
        If thisName = "AutoMacros" Then amExists = True
    Next

    If Not amExists Then
        sPath = Environ("USERPROFILE") & Application.PathSeparator & "Desktop" & Application.PathSeparator & _
            "AutoMacros.bas"
        ThisDocument.VBProject.vbcomponents("AutoMacros").Export sPath
        Application.Templates("Normal.dotm").VBProject.vbcomponents.Import sPath
    End If
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...