Hur man automatiskt skapar en ny tid när ett e-postmeddelande flaggas i Outlook

Vissa människor vill automatiskt eller snabbt skapa ett nytt Outlook-avtal när de flaggar ett e-postmeddelande. Denna artikel kommer att introducera ett tillvägagångssätt för att förverkliga det med Outlook VBA.

Ibland kan jag få ett e-postmeddelande som nämner ett möte eller ett möte. Men det är bara ett e-postmeddelande istället för ett vanligt mötesobjekt i Outlook. I det här fallet måste jag skapa ett nytt möte i min Outlook-kalender manuellt. Det är lite besvärligt. Så jag önskar att Outlook automatiskt kan skapa ett nytt möte. Ändå har Outlook inget inbyggt stöd för oss att automatiskt skapa ett nytt möte när vi flaggar ett e-postmeddelande. För att uppnå det väljer jag därför att använda Outlook VBA. Här är de detaljerade VBA-koder och steg.

Skapa en ny tid automatiskt när ett e-postmeddelande flaggas

  1. För det första byter du till fliken "Utvecklare" och trycker på "Visual Basic" -knappen i gruppen "Kod".Visual Basic-knapp
  2. Sedan i det nya “Microsoft Visual Basic for Applications” -fönstret måste du dubbelklicka på “ThisOutlookSession” för att öppna detta projekt.
  3. Och nästa kopiera och klistra in följande VBA-koder i den.
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

Kopiera VBA-koder till ThisOutlookSession

  1. Därefter bör du använda “Digital Certificate for VBA Projects” för att skapa ett nytt certifikat och underteckna det aktuella “ThisOutlookSession” -projektet.Signera projektet ThisOutlookSession digitalt
  2. Därefter kan du stänga fönstret “Visual Basic” och ändra makroinställningar för att endast tillåta digitalt signerade makron.Tillåt endast digitalt signerade makron
  3. Så småningom kan du prova.
  • Först och främst, pitch på ett e-postmeddelande och klicka på "Flagga" -ikonen. Du får en fråga, som följande skärmdump:Bekräfta skapar möte
  • När du har valt "Ja" måste du ange platsen och trycka på "OK" -knappen.Ange Locatiom
  • Då måste du ange tid för mötet.Ange en viss tid
  • Slutligen, efter att ha klickat på “OK”, öppnas ett nytt möte som visas som bilden nedan:Ny möte

Anmärkningar:

  1. I dessa VBA-koder är påminnelsen inställd på 30 minuter som standard. Du kan ändra det i koderna efter behag.
  2. Koderna ställer in mötets varaktighet till 120 minuter, nämligen 2 timmar. Du kan ändra raden “.Duration = 120” enligt dina behov.
  3. Om du inte angav en konkret tid kommer det nya mötet att ställas in till aktuellt datum och tid som standard.
  4. Du kan lägga till raden ".Save" för att spara mötet direkt.

Kassera Outlook-problem

Det är känt att Outlook kan drabbas av olika problem. Den värsta situationen måste vara korruptioner i Outlook. Om din Outlook-fil är skadad och du har haft en säkerhetskopia i handen kan du enkelt återställa din skadade Outlook-data från säkerhetskopior. Men om du inte har någon säkerhetskopia måste du reparera den korrupta Outlook-filen. I det här fallet kan du använda det inbyggda reparationsverktyget Scapst.exe eller använda ett mer erfaret verktyg, som DataNumen Outlook Repair.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive reparation SQL Server mdf-databasproblem och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.