Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
1

Связь пользовательской функции при смене пользователя

05.11.2014, 13:34. Показов 871. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!!
При использовании пользовательской функции, сохраненной как надстройка, при смене пользователя необходимо изменять связи с данной функцией, как это обойти?

Добавлено через 2 часа 24 минуты
выдает ошибку при открытии книги, в редакторе пошагово работает

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Workbook_Open()
    'проверим битые ссылки ВПР2
     With ActiveWorkbook
         iExcelLinks = .LinkSources(xlExcelLinks)
        If IsArray(iExcelLinks) = True Then
            iUserName = Environ("UserName")
            For iCount& = 1 To UBound(iExcelLinks)
                iLink = iExcelLinks(iCount&)
                If .LinkInfo(iLink, xlLinkInfoStatus) = xlLinkStatusMissingFile And _
                   InStr(1, iLink, "ВПР2", vbTextCompare) > 0 Then
                    NewLink = "C:\Users\" & iUserName & "\AppData\Roaming\Microsoft\AddIns\ВПР2.xla"
                    .ChangeLink Name:=iLink, NewName:=NewLink, Type:=xlExcelLinks
                    .UpdateLink Name:=.LinkSources
                End If
            Next
        End If
    End With
Добавлено через 50 минут
при попытке пошагово выполнить процедуру по достижения условия переводит на функцию ...

Добавлено через 21 час 35 минут
В инете нашел статью на изменение ссылки пользовательской функции, сохраненной как надстройка
В книге
Visual Basic
1
2
3
Private Sub Workbook_Open()
Set anApp = New appclass
End Sub
В модуле класса
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
Dim l As Variant
Dim s As String
Dim x As Worksheet
Dim i As Long
  On Error Resume Next
  l = Wb.LinkSources(xlExcelLinks)
  If Not IsEmpty(l) Then
    For i = 1 To UBound(l)
      s = UCase(Right(l(i), Len(l(i)) - InStrRev(l(i), "\")))
      If s = UCase(ThisWorkbook.Name) Then Wb.ChangeLink l(i), _
        ThisWorkbook.Name, xlExcelLinks
      If Val(Application.Version) < 12 Then
        If s = "ВПР2.XLA" Then Wb.ChangeLink l(i), _
          "ВПР2.xla", xlExcelLinks
      End If
    Next
  End If
При открытии файла, с формулой функции связь не меняет, в чем может быть причина? Помогите кто знает

Добавлено через 1 час 15 минут
спасибо всем кто смотрел, решил проблему с помощью
Visual Basic
1
Private WithEvents App As Application
и
Visual Basic
1
2
Private Sub Workbook_Open()
Set App = Application
в книге
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2014, 13:34
Ответы с готовыми решениями:

Как оставить связь интернета при смене учетки?
Постоянно приходится менять учетные записи и занова подключаться к инету. Есть ли возможность чтоб...

Ошибка при смене пользователя
Помогите решить проблему: в нашем ПК два пользователя-я и жена.Как только жена переходит от меня к...

TTreeView: ошибка при смене пользователя
Всем доброго дня. Может кто знает, почему падает TTreeView при смене пользователя. Вот...

Закрытие приложения при смене пользователя
Доброго времени суток! Можно ли на C# сделать так, чтобы приложение закрывалось, когда в системе...

0
05.11.2014, 13:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2014, 13:34
Помогаю со студенческими работами здесь

Изменить разрешение экрана при смене пользователя
Привет! Два пользователя. Одному нужно разрешение экрана 1920 на 1080, другому 1600 на 900....

Ubuntu-Server, ошибка при смене пользователя
Ребят, только начал копаться в Linux, поставил UbuntuServer. Решил добавить группу и пользователя,...

Windows 10 home и черный экран при смене пользователя
Здравствуйте, мне нужна ваша помощь, т. к мне уже ничего не помогает ни переустановка...

Не работает мышка и клавиатура и мышь при смене пользователя
Здравствуйте, Имею на борту обычную клавиатуру(USB) и мышку Razer Deathadder Black Edition(USB)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru