一部の人々は、電子メールにフラグを立てるときに、新しいOutlookの予定を自動的または迅速に作成することを望んでいます。 この記事では、OutlookVBAでそれを実現するためのアプローチを紹介します。
時々、私は約束や会議について言及する電子メールを受け取るかもしれません。 ただし、これはOutlookの一般的な会議項目ではなく、単なる電子メールです。 この場合、Outlookの予定表に手動で新しい予定を作成する必要があります。 それは少し面倒です。 したがって、Outlookが自動的に新しい予定を作成できるようにしたいと思います。 それでも、Outlookには、電子メールにフラグを付けたときに新しい予定を自動的に作成するためのネイティブサポートがありません。 したがって、それを達成するために、私はOutlookVBAを利用することにしました。 詳細なVBAコードと手順は次のとおりです。
メールにフラグが付けられたときに新しい予定を自動作成する
- まず、「開発者」タブに切り替えて、「コード」グループの「VisualBasic」ボタンを押します。

- 次に、新しい「Microsoft Visual Basic for Applications」ウィンドウで、「ThisOutlookSession」をダブルクリックしてこのプロジェクトを開く必要があります。
- 次に、次のVBAコードをコピーして貼り付けます。
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
- その後、「VBAプロジェクトのデジタル証明書」を使用して新しい証明書を作成し、現在の「ThisOutlookSession」プロジェクトに署名する必要があります。
- その後、「Visual Basic」ウィンドウを終了し、デジタル署名されたマクロのみを許可するようにマクロ設定を変更できます。
- 最終的には、試してみることができます。
- まず、メールを売り込み、「フラグ」アイコンをクリックします。 次のスクリーンショットのようなプロンプトが表示されます。
- 「はい」を選択した後、場所を指定して「OK」ボタンを押す必要があります。
- 次に、予約時間を指定する必要があります。
- 最後に、[OK]をクリックすると、次の画像のように新しい予定が開きます。
注意:
- このVBAコードでは、リマインダーはデフォルトで30分に設定されています。 コードで自由に変更できます。
- コードは、予約期間を120分、つまり2時間に設定します。 必要に応じて、「。Duration = 120」の行を変更できます。
- 具体的な時刻を指定しなかった場合、新しい予定はデフォルトで現在の日時に設定されます。
- 「.Save」行を追加して、予定を直接保存できます。
Outlookの問題を処理する
Outlookはさまざまな問題を抱えている可能性があることが知られています。 最悪の状況は、Outlookの破損である必要があります。 Outlookファイルが破損していて、バックアップが手元にある場合は、簡単に復元できます。 破損したOutlookデータ バックアップから。 ただし、バックアップがない場合は、破損したOutlookファイルを修復する必要があります。 この場合、組み込みの修復ツールであるScapst.exeを使用するか、次のようなより経験豊富なツールを使用することができます。 DataNumen Outlook Repair.
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 修理 SQL Server mdfデータベースの問題 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com






