Certaines personnes souhaitent créer automatiquement ou rapidement un nouveau rendez-vous Outlook lorsqu'elles marquent un e-mail. Cet article présentera une approche pour le réaliser avec Outlook VBA.
Parfois, je peux recevoir un e-mail qui mentionne un rendez-vous ou une réunion. Mais il ne s'agit que d'un e-mail au lieu d'un élément de réunion courant dans Outlook. Dans ce cas, je dois créer manuellement un nouveau rendez-vous dans mon calendrier Outlook. C'est un peu gênant. Je souhaite donc qu'Outlook puisse créer automatiquement un nouveau rendez-vous. Néanmoins, Outlook ne nous permet pas de créer automatiquement un nouveau rendez-vous lorsque nous signalons un e-mail. Par conséquent, pour y parvenir, j'ai choisi d'utiliser Outlook VBA. Voici les codes et étapes VBA détaillés.
Créer automatiquement un nouveau rendez-vous lorsqu'un e-mail est marqué
- En premier lieu, passez à l'onglet "Développeur" et appuyez sur le bouton "Visual Basic" dans le groupe "Code".

- Ensuite, dans la nouvelle fenêtre "Microsoft Visual Basic pour Applications", vous devez double-cliquer sur "ThisOutlookSession" pour ouvrir ce projet.
- Ensuite, copiez et collez les codes VBA suivants dedans.
Public WithEvents olItems As Outlook.Items
Private Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim oAppt As AppointmentItem
Dim strMsg As String
Dim nRes As Integer
On Error Resume Next
If TypeName(Item) = "MailItem" And Item.IsMarkedAsTask = True Then
strMsg = "Do you want to create a new appointment"
nRes = MsgBox(strMsg, vbYesNo + vbQuestion, "Confirm Creating Appointment")
If nRes = vbYes Then
Set oAppt = Application.CreateItem(olAppointmentItem)
With oAppt
.Subject = "New Appt: " & Item.Subject
.Location = InputBox("Enter the Location, please.")
'Type the concrete time, such as "12/29/2015 15:30"
.Start = InputBox("Enter a specific time (format: MM/DD/YYYY hh:mm), please.")
.Duration = 120
.Body = "New Appointment: " & vbCrLf & vbCrLf & Item.Body
.Attachments.Add Item
.ReminderSet = True
.ReminderMinutesBeforeStart = 30
'Use ".Save" to directly save the new appointment
.Display
End With
End If
'To clear the flag on the email
'If you want to keep email flagged, remove the following 4 lines
With Item
.ClearTaskFlag
.Save
End With
End If
End Sub
- Par la suite, vous devez utiliser "Certificat numérique pour les projets VBA" pour créer un nouveau certificat et signer le projet "ThisOutlookSession" actuel.
- Après cela, vous pouvez quitter la fenêtre "Visual Basic" et modifier les paramètres de macro pour n'autoriser que les macros signées numériquement.
- Finalement, vous pouvez essayer.
- Tout d'abord, lancez un e-mail et cliquez sur l'icône "Signaler". Vous obtiendrez une invite, comme la capture d'écran suivante :
- Après avoir sélectionné "Oui", vous devrez spécifier l'emplacement et appuyer sur le bouton "OK".
- Ensuite, vous devez spécifier l'heure du rendez-vous.
- Enfin, après avoir cliqué sur "OK", un nouveau rendez-vous s'ouvrira, illustré par l'image ci-dessous :
Remarques :
- Dans ces codes VBA, le rappel est défini sur 30 minutes par défaut. Vous pouvez le changer dans les codes à volonté.
- Les codes fixent la durée du rendez-vous à 120 minutes, soit 2 heures. Vous pouvez modifier la ligne ".Duration = 120" selon vos besoins.
- Si vous n'avez pas spécifié d'heure concrète, le nouveau rendez-vous sera défini par défaut sur la date et l'heure actuelles.
- Vous pouvez ajouter la ligne « .Save » pour enregistrer directement le rendez-vous.
Résoudre les problèmes d'Outlook
On sait qu'Outlook peut souffrir de divers problèmes. La pire situation doit être la corruption d'Outlook. Si votre fichier Outlook est corrompu et que vous avez une sauvegarde en main, vous pouvez facilement restaurer votre données Outlook endommagées à partir de sauvegardes. Mais si vous n'avez pas de sauvegarde, vous devrez réparer le fichier Outlook corrompu. Dans ce cas, vous pouvez utiliser l'outil de réparation intégré, Scapst.exe, ou recourir à un outil plus expérimenté, comme DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparation SQL Server problème de base de données mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com






