このコードを使用して、特定のOutlookメールフィールドをアクセスにダウンロードしています。これはうまくいくが、コードは重複したメールをダウンロードし続ける。既存のレコードをチェックし、テーブルにないレコードをダウンロードする方法はありますか?あなたの答えは、私はOutlookのオブジェクトとそのおなじみの、TaskID
は、タスクのための数値の一意の識別子であることではないと仮定しています 固有のデータをmsアクセステーブルにダウンロード
Private Sub getml()
Dim rst As DAO.Recordset
Dim OlApp As Outlook.Application
Dim inbox As Outlook.MAPIFolder
Dim inboxItems As Outlook.Items
Dim Mailobject As Object
Dim db As DAO.Database
Dim dealer As Integer
Set db = CurrentDb
Set OlApp = CreateObject("Outlook.Application")
Set inbox = OlApp.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox)
Set rst= CurrentDb.OpenRecordset("mls")
Set inboxItems = inbox.Items
For Each Mailobject In inboxItems
With rst
.AddNew
!task= Mailobject.UserProperties.Find("taskID")
!tsktml= Mailobject.UserProperties.Find("timeline")
.Update
Mailobject.UnRead = False
End With
End If
Next
Set OlApp = Nothing
Set inbox = Nothing
Set inboxItems = Nothing
Set Mailobject = Nothi
End Sub
各項目は、その項目に固有の 'ConversationID'を持っています - それは** 2002F3A5F78D45EBA44C273A54AFB802 **のようになります。このIDは、アイテムを別のフォルダに移動する場合にのみ変更されます。IDの変更を追跡するコードがありますが、アイテムが移動しない場合は、一意の有効な識別子になります。 –