powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / references - как подключить
9 сообщений из 9, страница 1 из 1
references - как подключить
    #39745886
Друзья помогите с решением проблемы. Есть офис, установленный локально 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
references - как подключить
    #39745887
Но дело в том, что код не исполняется, т.к. библиотека не подключена. Как быть?
...
Рейтинг: 0 / 0
references - как подключить
    #39745890
В первом сообщении в коде небольшая ошибка, т.к. ставил эксперименты и раскомментил часть кода, но в любом случае проблему не победил пока-что :(.
...
Рейтинг: 0 / 0
references - как подключить
    #39745911
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архимедофф, странный код. Зачем там цикл по References с созданием одной и той же на каждой итерации? ИМХО, бред.

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

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

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

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


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