2

特定の Outlook フォルダーで電子メールの添付ファイルを検索し、それらを特定の場所に保存する VBA コードがあります。

電子メールを Outlook フォルダーに送信してからマクロを起動する Outlook ルールがあります。私のコンピューターではコードが自動的に実行されませんが、別のコンピューターでは実行されます。電子メールが受信され、ルールによってフォルダーにドロップされますが、コードは実行されません。VB エディターを使用してコードを手動で実行すると、添付ファイルが適切な場所に保存されます。

フォルダー名とパス名が正しいことを確認しました (どちらにしても、間違っていると、手動で実行したときにコードが正しく実行されません)。

見通しのルール:

メッセージの到着後にこのルールを適用する

xxxxxxxxxxxx から

件名に xxxx を含む

このマシンのみ

xxxxx フォルダに移動します。

Project1.ThisOutlookSession.Save を実行します。

VBA コード:

Sub Save(item As Outlook.MailItem)
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim msg As Outlook.MailItem

Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("xxxxxxx")
Set oApp = CreateObject("Shell.Application")

For Each myitem In olFolder.Items
  For Each att In myitem.Attachments
    att.SaveAsFile "\\.............\" & att.FileName
      myitem.Attachments.Remove 1
      myitem.Save
  Next
Next
End Sub
4

2 に答える 2