011 Outlook VBA 選択中のメールをフォルダへ移動(moveメソッド)

こんにちは、くのへ@MasazaneKunoheです。

moveを使うと、所定のフォルダに移動させることが出来ます。
その基本コードを纏めました。

受信トレイの所定のフォルダに移動

受信ボックスで選択中のメールを受信トレイの所定のフォルダに移動する基本コードは↓こちら。

↓コピペで動くと思います。

Sub テストフォルダに移動()
  
'受信ボックスで選択している1番目のメールを抽出する
  Dim objSelect As Outlook.Selection
  Dim objItem As Object
  Set objSelect = Outlook.Application.ActiveExplorer.Selection
  Set objItem = objSelect.Item(1)
  
'myFolderが受信トレイを指すようにする
  Dim myNameSpace As Outlook.NameSpace
  Dim myFolder As Outlook.Folder
  
  Set myNameSpace = Application.GetNamespace("MAPI")
  Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
  
'受信ボックスで選択中のアイテムを、受信トレイの中の「test」フォルダに移動する
  objItem.Move myFolder.Folders.Item("test")
  
End Sub

受信ボックスのフォルダ構成はこのようになっている前提です

解説

メールアイテムを移動するには、

 メールアイテムオブジェクト.Move 対象のフォルダ

と記載すればOKです。つまり↓このような感じです

 objItem.Move myFolder.Folders.Item(“test”)

この「対象フォルダ」の指定方法がクセもので、受信トレイのフォルダの名前だけを書いてもダメで、Outlook内でのフォルダをちゃんと指定する必要があります。

そのため、次のコードを書いてmyFolderにoLFolderinbox(受信トレイのこと)を指定しています。

GetNamespace(“MAPI”)
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)

ではまた別の記事で~
🦅バサバサ~

感想等はツイッターにお願いします。こちら。

くのへスタジオはこちら。

Outlook-VBAコーナーはこちら。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です