none
ERRO DE COMPILAÇÃO: O TIPO DEFINIDO PELO USUÁRIO NÃO FOI DEFINIDO RRS feed

  • Pergunta

  • Pessoal,

    O erro segundo o titulo acontece logo após que tento executar o seguinte módulo:

    'Public Sub Extract_Outlook_Email_Attachments()

    Dim OutlookOpened As Boolean
    Dim outApp As Outlook.Application
    Dim outNs As Outlook.Namespace
    Dim outFolder As Outlook.MAPIFolder
    Dim outAttachment As Outlook.Attachment
    Dim outItem As Object
    Dim outMailItem As Outlook.MailItem
    Dim inputDate As String, subjectFilter As String
    Dim saveInFolder As String

    saveInFolder = "C:\Users\Maiccon\Desktop\Nova pasta (3)" 'TROCAR PASTA
    If Right(saveInFolder, 1) <> "\" Then saveInFolder = saveInFolder & "\"

    subjectFilter = "SOLICITAÇÃO DE MOVIMENTO" 'TROCAR TITULO DO EMAIL

    'Get or create Outlook object and make sure it exists before continuing

    OutlookOpened = False
    On Error Resume Next
    Set outApp = GetObject(, "Outlook.Application")
    If Err.Number <> 0 Then
    Set outApp = New Outlook.Application
    OutlookOpened = True
    End If
    On Error GoTo 0

    If outApp Is Nothing Then
    MsgBox "Cannot start Outlook.", vbExclamation
    Exit Sub
    End If

    Set outNs = outApp.GetNamespace("MAPI")

    Set outFolder = outNs.Folders("Personal Folders").Folders("Inbox") 'CHANGE FOLDER AS NEEDED
    'Set outFolder = outNs.PickFolder 'OR USER SELECTS FOLDER

    If Not outFolder Is Nothing Then
    For Each outItem In outFolder.Items
    If outItem.Class = Outlook.OlObjectClass.olMail Then
    Set outMailItem = outItem
    If outMailItem.Subject = subjectFilter Then
    Debug.Print outMailItem.Subject
    For Each outAttachment In outMailItem.Attachments
    outAttachment.SaveAsFile saveInFolder & outAttachment.Filename
    Next
    End If
    End If
    Next
    End If

    If OutlookOpened Then outApp.Quit

    Set outApp = Nothing

    End Sub

    Quem puder me ajudar desde já agradeço!


    sábado, 10 de setembro de 2016 12:21

Todas as Respostas

  • Maiccon, boa tarde!

    Esse erro é porque você não habilitou a livraria do Outlook, com isso a forma como definiu as variáveis não é compreendida pelo VBA.

    Para habilitar essa livraria basta ir em:

    Ferramentas > Referências > Microsoft Outlook 15.0 Object Library

    No caso do meu office que é 2013 a livraria é 15.0, mas isso muda de versão para versão, ok? É só habilitar a sua, independente da versão.

    Abraços!

    sábado, 10 de setembro de 2016 16:10
  • O problema é que esta referencia (Microsoft Outlook XX.0 Object Library) não existe mais no Office 2016
    quinta-feira, 27 de abril de 2017 13:00