2017-03-16 6 views
0

Je souhaite créer une alerte contextuelle personnalisée dans MS Outlook 2007, qui s'affiche lorsque vous cliquez sur le bouton "Envoyer". Il devrait avoir 2 choix: Oui et non. En cliquant sur "Oui", je veux que le système ouvre une feuille Excel particulière. Est-ce possible en ajoutant un extrait de code VBA à mon client de bureau Outlook? Je ne sais pas comment y parvenir. Tout plomb est apprécié.Code VBA dans MS Outlook 2007 pour créer une alerte contextuelle personnalisée

Répondre

2

travail avec Application.ItemSend Event et simple MsgBox Function

Regardez aussi cette réponse Finding a workbook in one of multiple Excel instances

Exemple de code passe sous ThisOutlookSession

Public WithEvents olApp As Outlook.Application 

Private Sub Application_Startup() 
    Set olApp = Outlook.Application 
End Sub 

Private Sub olApp_ItemSend(ByVal Item As Object, Cancel As Boolean) 
    Dim xlApp As Excel.Application 
    Dim xlBook As Workbook 
    Dim Prompt As String 

    Prompt = "Open Excel File?" 

    If MsgBox(Prompt, vbYesNo + vbQuestion, _ 
          "Sample") = vbNo Then 
     Cancel = True 
    Else 
     Set xlApp = New Excel.Application 
     Set xlBook = xlApp.Workbooks.Open(_ 
           "C:\Temp\Temp.xlsm") 
     xlApp.Visible = True 

    End If 

    Set xlApp = Nothing 
    Set Book = Nothing 
End Sub 
+0

Merci pour l'info. Ajout du code dans 'ThisOutlookSession' et sauvegarde du projet VB. Cependant, les modifications ne sont pas entrées en vigueur. Je sais que c'est beaucoup moins d'informations mais pourriez-vous m'aider s'il vous plaît? –

+0

@RitwikDey Je suis actuellement loin de mon ordinateur - bien sûr, je vais vous aider, redémarrer votre outlook et testé-si cela ne fonctionne pas regardez le lien et remplacer application-startup() avec Initialize_handler() – 0m3r

+0

@ RitwikDey se souvient quand vous travaillez avec un ThisOutlookSession, vous devez redémarrer votre outlook pour que cela fonctionne – 0m3r