Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / references - как подключить / 9 сообщений из 9, страница 1 из 1
11.12.2018, 11:58
    #39745886
references - как подключить
Друзья помогите с решением проблемы. Есть офис, установленный локально 16 версии. И есть офис 15 версии, который установлен на citrix ферме. Приложение для работы приходится запускать именно на цитриксе, а пишу основное - локально.
Так вот каждый раз приходится ручками подключать "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\MSO.DLL". Пытался делать так

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Public Function CheckReferences()
 
Dim ref As Reference
Dim comp$
For Each ref In CurrentProject.Application.References
    Set ref = References.AddFromGuid("{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}")   ' OFFICE15
    Debug.Print ref.Name, ref.Guid, ref.IsBroken, ref.FullPath
    
    'Office        {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}    False         C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\MSO.DLL
    'Office        {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}    False         C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\MSO.DLL
    
    comp = txtCompName
    If ref.Name = "Office" And comp Like "*CTXDCN*" And ref.IsBroken = True Then
        CurrentProject.Application.References.Remove ref    ' îòêëþ÷èì OFFICE16
        Set ref = References.AddFromFile("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\MSO.DLL")   ' OFFICE15
        Exit For
    End If

Next ref
Set ref = Nothing
End Function
...
Рейтинг: 0 / 0
11.12.2018, 11:59
    #39745887
references - как подключить
Но дело в том, что код не исполняется, т.к. библиотека не подключена. Как быть?
...
Рейтинг: 0 / 0
11.12.2018, 12:02
    #39745890
references - как подключить
В первом сообщении в коде небольшая ошибка, т.к. ставил эксперименты и раскомментил часть кода, но в любом случае проблему не победил пока-что :(.
...
Рейтинг: 0 / 0
11.12.2018, 12:28
    #39745911
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
references - как подключить
Архимедофф, странный код. Зачем там цикл по References с созданием одной и той же на каждой итерации? ИМХО, бред.

Зачем вообще столько библиотек? Сам всегда минимизирую. Думаю что большинство можно отключить перейдя на позднее связывание.

Как-то проводил опыты с ссылками и восстановлением, не понравилось, с тех пор не использую. Да и в *.mde это не прокатывает.

Если не избежать работы с библиотекой нужно подключать минимально возможную версию - вверх подхватится.
...
Рейтинг: 0 / 0
11.12.2018, 12:41
    #39745925
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
references - как подключить
Архимедофф, вот тут -> Про Reference
советы от Программист-Любитель тебе подойдут
...
Рейтинг: 0 / 0
11.12.2018, 12:41
    #39745926
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
references - как подключить
Это старая проблема. И не решенная. Access на старшие ссылки переключается, а на младшие - нет.
...
Рейтинг: 0 / 0
11.12.2018, 13:31
    #39745980
references - как подключить
Архимедофф, у метода AddFromGuid три обязательных аргумента. Версия и подверсия указываются по принципу "не ниже". Можно указать нули, тогда найдет самую нижнюю.

ЗЫ. Согласен с Панунг насчет "Зачем там цикл по References с созданием одной и той же на каждой итерации?" и "позднее связывание". Зачем вам ссылка на Office на постоянной основе?
Подключили - написали код - создали аналоги констант - отключили.
...
Рейтинг: 0 / 0
14.12.2018, 15:08
    #39747962
references - как подключить
Кривцов Анатолий,
создали аналоги констант - отключили. <- Вот это не понятно
...
Рейтинг: 0 / 0
14.12.2018, 16:00
    #39748007
references - как подключить
Архимедофф создали аналоги констант - отключили. <- Вот это не понятно
Если ссылка подключена, то при написании кода используются константы из этой библиотеки.
В вашем случае имена констант начинаются с "mso" (например msoFileDialogOpen при работе с объектом FileDialog). После отключения библиотеки (переходе на позднее связывание) VBA будет ругаться на них, поэтому в коде нужно создать свои константы-аналоги или вместо них указывать непосредственно их значения.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / references - как подключить / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]