
Outlookの受信フォルダをmsgファイルで出力することはできたのですが
これを指定のサブフォルダで行う方法がわかりません
わかる方よろしくお願いします
Sub GetMailToFile()
' Outlookのメールで条件に一致するメールをファイル保存する
Dim ol As Object
Dim fileName As String
Const CON_OUTFOLDER = "出力先"
' 起動しているOutlookを取得
Set ol = GetObject(, "Outlook.Application")
If ol Is Nothing Then Exit Sub
' メール一覧取得
mailcnt = 0
For Each itms In ol.GetNamespace("MAPI").GetDefaultFolder(6).Items ' ここの6で受信トレイ指定
If itms.Class = 43 Then ' olMail:43
If InStr(itms.Body, "PC") > 0 Then
' ファイル名として使用できない文字を置換
fileName = itms.Subject
fileName = Replace(fileName, "\", "")
fileName = Replace(fileName, "/", "")
fileName = Replace(fileName, ":", "")
fileName = Replace(fileName, ";", "")
fileName = Replace(fileName, "*", "")
fileName = Replace(fileName, "?", "")
fileName = Replace(fileName, "<", "")
fileName = Replace(fileName, ">", "")
fileName = Replace(fileName, "|", "")
' メールを保存
itms.SaveAs CON_OUTFOLDER & fileName & ".msg", 3 ' olMSG:3
End If
End If
Next
Set ol = Nothing
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは、
デフォルトアカウント受信フォルダのサブフォルダで良いのでしょうか?
>For Each itms In ol.GetNamespace("MAPI").GetDefaultFolder(6).Items
上記を変更
For Each itms In ol.GetNamespace("MAPI").GetDefaultFolder(6).Folders("サブフォルダ名").Items
受信フォルダと同じ階層の場合
(コメントブロックは、別アカウント内のフォルダを対象に設定する場合)
Dim fldr As Folder, TargetFolder As Folder
Dim oAccount As Account
' For Each oAccount In ol.Session.Accounts
For Each fldr In ol.GetNamespace("MAPI").Folders
' If fldr = "別アカウント名" Then
Set TargetFolder = fldr.Folders("フォルダ名")
Exit For
' End If
Next
' Next
For Each itms In TargetFolder.Items
こんな感じでどうでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
【マクロ】フォルダにファイル...
-
Excelvbaでブックをコピー名前...
-
フォルダを開いて、閉じるのプ...
-
複数選択フォルダの配列への格納
-
バッチファイル フォルダを...
-
デスクトップの画像をhtmlに表...
-
【コマンドプロンプト】名前順...
-
[VBS] Unicodeの文字化けを防ぎ...
-
ファイル名と同名のフォルダを...
-
保存先のフォルダ名を指定した...
-
Excelで指定したフォルダに保存...
-
[VB.net 2003] FileDialogでデ...
-
MATLABで複数のフォルダから情...
-
Debug フォルダは消していいの?
-
機種依存文字を含むフォルダ/フ...
-
フォルダ内のファイルの作成日...
-
VBAでファイル名を指定して保存...
-
エクセルマクロで指定フォルダ...
-
ディレクトリ名変更してコピー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
会社のネットワーク上のファイ...
-
ExcelのVBAでフォルダ指定がで...
-
Excelで指定したフォルダに保存...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VB.NRT FolderBrowserDialogを...
-
【マクロ】フォルダにファイル...
-
ThisWorkbookがあるフォルダ更...
-
ディレクトリ名変更してコピー...
-
(C#)フォルダを指定するダイ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBプロジェクトでのフォルダ構...
-
パス名に2バイト文字(マルチバ...
-
Debug フォルダは消していいの?
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
おすすめ情報