■■■①受信トレイ→カレントフォルダに保存■■■
Sub SaveAttachmentFiles01()
Dim myNamespace As Namespace
Dim myInbox As Object, myFolder As Object, objItem As Object
Dim strSavePath As String, strFile As String, i As Long, numStartDate As Long
numStartDate = ThisWorkbook.ActiveSheet.Cells(1, 1)
strSavePath = ThisWorkbook.Path 'ファイル保存場所(カレントフォルダ)
Set myNamespace = GetNamespace("MAPI")
Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
Set myFolder = myInbox
For Each objItem In myFolder.Items
With objItem
If .SentOn >= numStartDate Then
For i = 1 To .Attachments.Count
If .Attachments.Item(i) Like "見積書*.xlsx" Then
strFile = strSavePath & "\" & .Attachments.Item(i)
.Attachments.Item(i).SaveAsFile strFile
End If
Next i
End If
End With
Next objItem
MsgBox "Outlookからの取得完了(^O^)v", vbInformation
End Sub
■■■②Outlook サブフォルダ→指定フォルダに保存■■■
Sub SaveAttachmentFiles02()
Dim myNamespace As Namespace
Dim myInbox As Object, myFolder As Object, objItem As Object
Dim strSavePath As String, strFile As String, i As Long, numStartDate As Long
numStartDate = ThisWorkbook.ActiveSheet.Cells(1, 1)
strSavePath = ThisWorkbook.Path & "\販売実績" 'ファイル保存場所(カレントフォルダ→販売実績)
Set myNamespace = GetNamespace("MAPI")
Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
Set myFolder = myInbox.Folders.Item("販売実績")
For Each objItem In myFolder.Items
With objItem
If .SentOn >= numStartDate Then
For i = 1 To .Attachments.Count
If .Attachments.Item(i) Like "販売データ*.xlsx" Then
strFile = strSavePath & "\" & .Attachments.Item(i)
.Attachments.Item(i).SaveAsFile strFile
End If
Next i
End If
End With
Next objItem
MsgBox "Outlookからの取得完了(^O^)v", vbInformation
End Sub
■■■③Outlook サブフォルダ→ファイル名に日付付加■■■
Sub SaveAttachmentFiles03()
Dim myNamespace As Namespace
Dim myInbox As Object, myFolder As Object, objItem As Object
Dim strSavePath As String, strFile As String, i As Long, numStartDate As Long
numStartDate = ThisWorkbook.ActiveSheet.Cells(1, 1)
strSavePath = ThisWorkbook.Path & "\日報" 'ファイル保存場所(カレントフォルダ→日報)
Set myNamespace = GetNamespace("MAPI")
Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
Set myFolder = myInbox.Folders.Item("報告").Folders.Item("01_日報")
For Each objItem In myFolder.Items
With objItem
If .SentOn >= numStartDate Then
For i = 1 To .Attachments.Count
If .Attachments.Item(i) Like "日報.xlsx" Then
strFile = strSavePath & "\" & Left(.Attachments.Item(i), Len(.Attachments.Item(i)) - 5) _
& Format(.SentOn, "yyyymmdd") & ".xlsx"
.Attachments.Item(i).SaveAsFile strFile
End If
Next i
End If
End With
Next objItem
MsgBox "Outlookからの取得完了(^O^)v", vbInformation
End Sub
コメント
コメントを投稿