Не удается вызвать макрос Excel после автоматического открытия из макроса Outlook - PullRequest
0 голосов
/ 18 февраля 2019

Я написал макрос из Outlook, чтобы открыть Excel.

Ниже кода:

Public Sub OpenMasterPM()
    Dim xExcelFile As String
    Dim xExcelApp As Excel.Application
    Dim xWb As Excel.Workbook
    Dim xWs As Excel.Worksheet
    Dim xExcelRange As Excel.Range
    xExcelFile = "C:\Users\andrea.vighetti\Documents\Banca5\Evolutive\Master PM_prova.xlsm"
    Set xExcelApp = CreateObject("Excel.Application")
    Set xWb = xExcelApp.Workbooks.Open(xExcelFile)
    Set xWs = xWb.Sheets(1)
    xWs.Activate
    xExcelApp.Visible = True     
End Sub

После этого Excel открывается, и у меня есть макрос Auto_Open в Excel, который я хочу запустить, когда эта страница открыта, но это не работает,

Кажется, что автоматически открываемый макрос, написанный в Excel, не запускается, когда Excel открывается, начиная с макроса Outlook, ниже кода vba в Excel:

Sub Auto_open()

    Sheets("Evolutive TFS").Select
    ActiveWorkbook.RefreshAll
    Sheets("Gantt").Select
    ActiveSheet.ListObjects("Gantt").Range.AutoFilter Field:=3, Criteria1:="=Implementation", Operator:=xlOr, Criteria2:="=Test"

End Sub

1 Ответ

0 голосов
/ 18 февраля 2019
  1. Вместо Auto_open используйте событие Workbook.Open , поскольку Auto_open устарело.
    Поместите его в ThisWorkbook, а не в модуль!

  2. Возможно, вам будет полезно прочитать Как избежать использования Select в Excel VBA .

    Private Sub Workbook_Open()
        Sheets("Evolutive TFS").RefreshAll
        Sheets("Gantt").ListObjects("Gantt").Range.AutoFilter Field:=3, Criteria1:="=Implementation", Operator:=xlOr, Criteria2:="=Test"
    End Sub
    
  3. Также убедитесь, что макросы включены в центр управления безопасностью Excel либо для расположения файла, либо для того, чтобы файл имел цифровую подпись.В противном случае защита Excel может заблокировать выполнение макросов.

    См. Включение или отключение макросов в файлах Office .

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