Я пытаюсь восстановить / перекомпилировать старый плагин Outlook, который был написан на VB6, однако я получаю сообщение об ошибке, по-видимому, связанное с установкой кнопки на панели ленты.Просто не могу понять, почему и был бы признателен за любые отзывы / рекомендации.
Плагин все еще отлично работает в Outlook 2003 на Windows 7 для x86 и x64
Проблема, однако, пытается перекомпилировать его такЯ могу настроить его, а также запустить его с более свежими версиями Outlook с именем 2013 - 2018
При компиляции я получаю - Ошибка при загрузке DLL для xxxx.CommandBars (строки 40 и я полагаю также 70)
Public Function CreateTSEButton() As Boolean
10 On Error GoTo CreateTSEButton_Error
20 If Not objExplorer Is Nothing Then
Dim mCommandBar As CommandBar
30 On Error Resume Next
40 Set mCommandBar = objExplorer.CommandBars("E-mail")
50 On Error GoTo 0
60 If mCommandBar Is Nothing Then
70 Set mCommandBar = objExplorer.CommandBars("Standard")
80 End If
90 If mCommandBar Is Nothing Then Exit Function
'Command Bar Initialized, Now Find the Control First
Dim mControl As Object
100 For Each mControl In mCommandBar.Controls
110 If UCase$(Trim$(TypeName(mControl))) = UCase$(Trim$("CommandBarButton")) Then
120 If UCase$(Trim$(mControl.Caption)) = UCase$(Trim$(IDS_TSE_ON)) Or UCase$(Trim$(mControl.Caption)) = UCase$(Trim$(IDS_TSE_OFF)) Then
'Button Found
130 Set mTSEButton = mControl
140 Exit For
150 End If
160 End If
170 Next
180 If Not mTSEButton Is Nothing Then
190 Call UpdateButtonStatus
200 Else
210 Set mTSEButton = mCommandBar.Controls.add(msoControlButton, , , , True)
220 mTSEButton.Style = msoButtonIconAndCaption
230 mTSEButton.BeginGroup = True
240 mTSEButton.Enabled = True
250 mTSEButton.Visible = True
260 Call UpdateButtonStatus
270 End If
280 Set mControl = Nothing
290 Set mCommandBar = Nothing
300 End If
310 Exit Function
CreateTSEButton_Error:
Определения;
Private WithEvents objOLApp As Outlook.Application
Private WithEvents colInspectors As Outlook.Inspectors
Private WithEvents objExplorer As Outlook.Explorer
Private WithEvents mTSEButton As Office.CommandBarButton
Ссылки (захват изображения);
захват экрана со списком ссылок
Я много раз охотился и собирал кучучтения и того, что я видел, Microsoft перешла на модель типа XML по образцу CodeJock, если это имя звучит как колокол.
Код в плагине твердый, я просто не могу скомпилировать его из-за вышеизложенногоошибка, которая, если угадать, связана с новым форматом XML, который должен использоваться для 2013 года?
У меня есть пара других приложений VB6, которые используют CodeJock для панели ленты, чтобы они были автономными и работалихорошо в VB6, так что я могу видеть, что там происходит.
Однако, нажав в Outlook и из кода VB6 и добавив / взаимодействуя с кнопкой на панели команд Outlook или на панели ленты, как я думаю, теперь называетсяне работает для меня.
Мои вопросы (или запросы о помощи) относятся к следующему (я не очень разбираюсь в интерфейсе Outlook);
a) имеет " Outlook.Explorer "был заменен чем-то другим, так что это просто вопрос использования того, что новое, что бы то ни было?б) Я читал об IDTExtensibility2, но не уверен, как это учитывается, если вообще.) Должен ли я полностью переписать код для размещения кнопки на ленточной панели / панели команд Outlook 2013+, и если да, то не могли бы вы указать мнепример, пожалуйста, для VB6 и Outlook 2013 или 2016 и т. д., поскольку у меня возникают проблемы с поиском чего-либо.
Я бы предпочел не переписывать этот код VB6 в VB.Net, если смогу помочь.
Спасибо