OUTLOOK VBAについて質問です。
特定のメールに添付されたエクセルファイルを自動で開きたいのですが
名前が変更されたか、移動や削除が行われた可能性があります。
と表示されました。
コードは以下の通りです。
エラーが出たのはapp.workbooks.open(objItem.buf)です。
Dim i As Long, mCount As Long, MaxCount As Long, eMailName As String, j As Long
Dim myNamespace As NameSpace, app As Excel.Application
Dim outlook As Object
Dim myInbox As Object
Dim InboxFolder As Variant
Dim myItem As outlook.MailItem
Dim objIns As Inspector, objItem As Object, objAttachments As Object
Dim buf As String
Set outlook = CreateObject("Outlook.Application") Set app = CreateObject("excel.application") Set myNamespace = outlook.GetNamespace("MAPI") Set InboxFolder = myNamespace.GetDefaultFolder(6) app.Visible = True mCount = InboxFolder.Items.Count If mCount > 200 Then MaxCount = mCount - 200 Else MaxCount = 1 End If For i = mCount To MaxCount Step -1 eMailName = InboxFolder.Items(i).Subject If InboxFolder.Items(i).UnRead = True Then If InStr(eMailName, "依頼書送付") > 0 Or _ InStr(eMailName, "連絡書送付") > 0 Then Set myItem = InboxFolder.Items(i) myItem.Display Set objIns = Application.ActiveInspector Set objItem = objIns.CurrentItem For j = 1 To objItem.Attachments.Count Debug.Print objItem.Attachments(j) buf = objItem.Attachments(j) Debug.Print Dir(objItem.Attachments(j)) If InStr(buf, "xlsm") Then
⇒ app.Workbooks.Open (objItem.buf)
End If
Next j
End If
End If
Next i Set myItem = Nothing Set outlook = Nothing Set app = Nothing Set myNamespace = Nothing Set InboxFolder = Nothing Set objIns = Nothing Set objItem = Nothing Set objAttachments = Nothing
End Sub
メールは受信トレイの中にあり、メールの特定はできています。
メールに添付されたファイルの保存先の特定はどうすれば良いのでしょうか。
プログラム初心者で大変申し訳ありませんが宜しくお願い致します。