Коллеги, добрый день,
Заранее прошу прощения, я знаю, что таких тем миллион: я поиском пользоваться умею и смотрел предложенные варианты, но все равно хочу спросить здесь.
Дано: есть надстройка, которая периодически пополняется новыми кнопками и около 30 пользователей.
Нужно: чтобы надстройка (.xlam), после того, как пользователь дважды кликнет на неё, попала в дефолтную папку для надстроек и установилась пользователю в ленту. Само собой, если такая уже есть и она активна, нужно проверочное условие.
Главное отличие от всех способов, которые я встречал: то, что я открываю не вспомогательный файл с кодом, а саму надстройку; для меня это принципиальный момент. Соответственно, меня в принципе интересует, возможно ли практически сделать так, как я описал выше, и если да, то как?
Ниже код, который у меня есть на данный момент, он расположен в ThisWorkbook надстройки. На этапе FileCopy ругается ошибкой (Permission denied)
Заранее прошу прощения, я знаю, что таких тем миллион: я поиском пользоваться умею и смотрел предложенные варианты, но все равно хочу спросить здесь.
Дано: есть надстройка, которая периодически пополняется новыми кнопками и около 30 пользователей.
Нужно: чтобы надстройка (.xlam), после того, как пользователь дважды кликнет на неё, попала в дефолтную папку для надстроек и установилась пользователю в ленту. Само собой, если такая уже есть и она активна, нужно проверочное условие.
Главное отличие от всех способов, которые я встречал: то, что я открываю не вспомогательный файл с кодом, а саму надстройку; для меня это принципиальный момент. Соответственно, меня в принципе интересует, возможно ли практически сделать так, как я описал выше, и если да, то как?
Ниже код, который у меня есть на данный момент, он расположен в ThisWorkbook надстройки. На этапе FileCopy ругается ошибкой (Permission denied)
Код |
---|
Private Sub Workbook_Open() Dim sFullFileName$, sFolder$, sFileName$ sFileName = ThisWorkbook.Name sFullFileName = ThisWorkbook.FullName sFolder = Application.UserLibraryPath If Len(Dir(sFolder & sFileName)) = 0 Then FileCopy sFullFileName, sFolder Else MsgBox False End If End Sub |