Прошу помощи. Как можно определить путь к папке надстроек xla на любом ПК? Например, полный путь : "C:\Users\Имя_учетной_записи\AppData\Roaming\Microsoft\AddIns" Нельзя ли обойти имя учетной записи?
Прошу помощи. Как можно определить путь к папке надстроек xla на любом ПК? Например, полный путь : "C:\Users\Имя_учетной_записи\AppData\Roaming\Microsoft\AddIns" Нельзя ли обойти имя учетной записи?den45444
хотя бывают случаи, что система не на C установлена
Ну да, я хотел перекинуть надстройку и включить ее. А как программно установить надстройку в другом месте? Например, пользователь получил новую надстройку и файл с макросом который будет устанавливать/обновлять надстройку. Оба файла нах-ся в одной папке. Ведь если я не ошибаюсь в ручную можно выбрать расположение файла надстройки в любом месте.
хотя бывают случаи, что система не на C установлена
Ну да, я хотел перекинуть надстройку и включить ее. А как программно установить надстройку в другом месте? Например, пользователь получил новую надстройку и файл с макросом который будет устанавливать/обновлять надстройку. Оба файла нах-ся в одной папке. Ведь если я не ошибаюсь в ручную можно выбрать расположение файла надстройки в любом месте.den45444
Sub Auto_Open() Dim strName$: strName = Replace(ThisWorkbook.Name, "_New", "") If InStr(ThisWorkbook.FullName, Application.UserLibraryPath) < 1 Then On Error Resume Next Application.Workbooks(strName).Close 0 On Error GoTo 0 With CreateObject("Scripting.FileSystemObject") .CopyFile ThisWorkbook.FullName, Application.UserLibraryPath & strName, 1 Do DoEvents Loop Until .fileexists(Application.UserLibraryPath & strName) End With End If Application.AddIns(Left(strName, InStrRev(strName, ".") - 1)).Installed = True If Workbooks.Count = 0 Then Workbooks.Add End Sub
Sub Auto_Open() Dim strName$: strName = Replace(ThisWorkbook.Name, "_New", "") If InStr(ThisWorkbook.FullName, Application.UserLibraryPath) < 1 Then On Error Resume Next Application.Workbooks(strName).Close 0 On Error GoTo 0 With CreateObject("Scripting.FileSystemObject") .CopyFile ThisWorkbook.FullName, Application.UserLibraryPath & strName, 1 Do DoEvents Loop Until .fileexists(Application.UserLibraryPath & strName) End With End If Application.AddIns(Left(strName, InStrRev(strName, ".") - 1)).Installed = True If Workbooks.Count = 0 Then Workbooks.Add End Sub