outlook vba вызывает Excel-диалог - PullRequest
0 голосов
/ 06 июня 2018

У меня есть макрос Outlook, который завершается с ошибкой во время выполнения 1004 «Ошибка метода show класса диалога» в строке:

xlApp.Dialogs(xlDialogColorPalette).Show

Соответствующие части кода (или я так думаю):

Private WithEvents oExpl As Explorer
Private WithEvents oItem As MailItem
Private WithEvents respItem As MailItem
Private xlApp As Excel.Application

Private bDiscardEvents As Boolean


Private Sub Application_Startup()

   Set xlApp = CreateObject("Excel.Application")    

   Set oExpl = Application.ActiveExplorer
   bDiscardEvents = False

End Sub

Private Sub respItem_Send(cancel As Boolean)    

   bDiscardEvents = True

    Dim orgbody As String       
    orgbody = respItem.HTMLBody


    xlApp.Dialogs(xlDialogColorPalette).Show       

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

1 Ответ

0 голосов
/ 06 июня 2018

Некоторый минимальный код, который сработает, следуя идее с общедоступной переменной xlApp:

Option Explicit

Private xlApp As Excel.Application

Sub TestMe()

    Set xlApp = CreateObject("Excel.Application")

    Dim someWb As Workbook
    Set someWb = xlApp.Workbooks.Add
    xlApp.Visible = True

    If xlApp.Dialogs(xlDialogEditColor).Show(56) Then
        someWb.Worksheets(1).Range("A1").Interior.Color = ActiveWorkbook.Colors(56)
    End If

End Sub

Это параметры xlDialogEditColor - color_num, red_value, green_value, blue_value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...