How to initialize an event handler

前端 未结 1 1879
无人及你
无人及你 2020-12-12 05:13

I found this code online. It is supposed to auto populate my subject line with any attachments I provide. The code does not run.

I don\'t receive an error or anythi

相关标签:
1条回答
  • 2020-12-12 06:00

    There is nothing wrong with code, you simply need to Initialize the Inspectors

    Click on Sub Initialize_handlers() and press F5

    Private Sub Initialize_handlers()
        Set olInspectors = Application.Inspectors
    End Sub
    

    Or just use Application.Startup Event (Outlook), Save it and restart Outlook then it should work

    Example

    Public WithEvents olInspectors As Outlook.Inspectors
    Public WithEvents olMail As Outlook.mailitem
    
    Private Sub Application_Startup()
        Set olInspectors = Application.Inspectors
    End Sub
    
    Private Sub Initialize_handlers()
        Set olInspectors = Application.Inspectors
    End Sub
    
    Private Sub olInspectors_NewInspector(ByVal Inspector As Inspector)
        Dim olItem As Object
        Set olItem = Inspector.CurrentItem
        If TypeName(olItem) = "MailItem" Then Set olMail = olItem
    End Sub
    
    Private Sub olMail_AttachmentAdd(ByVal Attachment As Attachment)
        MsgBox "This is a test."
        If olMail.Subject = "" Then
          'If you don't want the prompt,
          'Just delete the Msgbox line and its corresponding "End if".
          If MsgBox("Do you want to use the attachment name as the subject", _
                                                         vbYesNo) = vbYes Then
             olMail.Subject = Attachment.DisplayName
          End If
        End If
    End Sub
    
    0 讨论(0)
提交回复
热议问题