powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Позднее связывание для Office Object Library
8 сообщений из 8, страница 1 из 1
Позднее связывание для Office Object Library
    #39356720
Алексей Cв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Пытаюсь перевести приложение на позднее связывание для решения проблем с подключением библиотек.
Как поступать с подключением Excel и Word понятно, но никак не соображу, как писать в случае для библиотеки самого Офиса (у меня в приложении есть меню, работающее через Command Bars).

Вот например такая функция была:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function CB_Exist(n) As Boolean

Dim cb As CommandBar

For Each cb In CommandBars
    If UCase(cb.name) = UCase(n) Then
        CB_Exist = True
        Exit Function
    End If
Next cb
CB_Exist = False

End Function



начинаю писать

Dim cb As Object
Set cb = Office.CommandBar


Не компилируется - метод или член не найден
Подскажите, пожалуйста, как правильно.
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356730
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хотите использовать позднее связывание - используйте CreateObject.
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356739
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа
Код: vbnet
1.
2.
3.
4.
Dim ao As Object
Dim cb As Object
Set ao = CreateObject("Access.Application")
Set cb = aa.CommandBars("MyCommandBar")
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356742
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Cв,

пример вашей функции в таком варианте у меня отрабатывает без проблем
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function CB_Exist(n) As Boolean
Dim cb As Object
For Each cb In CommandBars
    If UCase(cb.Name) = UCase(n) Then
        CB_Exist = True
        Exit Function
    End If
Next cb
CB_Exist = False
End Function
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356863
Алексей Cв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,

Спасибо большое.

Поменял в модуле все вхождения на Object. Компиляцию прошло без ошибок.
Но при запуске "Приложение остановлено из-за ошибки выполнения".

Не подскажете, есть ли какие-то особенные сложности при подготовке к запуску в среде Access Runtime 2010?
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356965
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей CвНо при запуске "Приложение остановлено из-за ошибки выполнения".
Так посмотрите, какая именно ошибка.
Просто заменить на Object недостаточно. Если объект был объявлен с использованием New, нужно создать его с использованием CreateObject
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39356974
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Позднее связывание для Office Object Library
    #39357010
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей CвВот например такая функция была:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function CB_Exist(n) As Boolean

Dim cb As CommandBar

For Each cb In CommandBars
    If UCase(cb.name) = UCase(n) Then
        CB_Exist = True
        Exit Function
    End If
Next cb
CB_Exist = False

End Function

Вот например так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Function CB_Exist(n) As Boolean
Dim strName As String
On Error Resume Next
Err.Clear
strName = Application.CommandBars(n).Name
CB_Exist = (Err.Number = 0)
Err.Clear
End Function
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Позднее связывание для Office Object Library
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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