2016-07-28 8 views
0

現在の日付のOutlook電子メールから.txtファイルを取得したいと思います。 これまでのところ、 '.txt'というファイルを持つものはすべて取得します。 今日の日付から送信された電子メールをどのようにフォーマットするのですかのみ今日の添付ファイル

このフォルダに毎日の電子メールが届くので、毎日ファイルの添付ファイルを取得して、それを自分のディレクトリのフォルダに配置したいと考えています。 は、これまでのところ、私はこれがあります。以下は

$i=1 

#set outlook to open 
$o = New-Object -comobject outlook.application 
$n = $o.GetNamespace(“MAPI”) 


$f = $n.pickfolder('EDI') 


$filepath = “C:\users\cesar.sanchez\desktop\EDI Statement Extract” 

$date = get-date (Get-Date).AddDays(-1) -format "MMMM dd" 


$f.Items | foreach { 
$i=$i+1 
    $_.attachments | foreach { 
    Write-Host $_.filename 
    $a = $_.filename 
    If ($a.Contains(“.txt”)) { 
    $_.saveasfile((Join-Path $filepath “Nassau EDI ExtractTest _$date.txt”)) 
     } 
    } 
} 

答えて

2

を受信トレイを通過し、今日受け取った電子メールからすべてのテキストファイルを取得します。

$ol = New-Object -ComObject outlook.application 
$n = $ol.getNameSpace("MAPI") 
$fold = $n.GetDefaultFolder(6).items 
$fold |Where {$_.ReceivedTime.Day -eq (Get-Date -format "dd") -AND $_.ReceivedTime.Month -eq (Get-Date -format "MM") -AND $_.ReceivedTime.Year -eq (Get-Date -format "yyyy") | foreach{ 
    $_.Attachment | foreach{ 
     $att = $_ 
     $_.FileName | Where {$_ -CMatch '\.txt$'} | foreach{ 
      $att.saveasfile("C:\$_") 
     } 
    } 
} 

これが役に立ちます。あなたの質問は確かに私に新しいことを教えてくれました。

+0

素晴らしいことですが、.getDefaultFolder(6)はどういう意味ですか?あなたが私に尋ねる気にならないなら。 – Cesar

+0

https://msdn.microsoft.com/en-us/library/bb219900(v=office.12).aspx – Junaid

関連する問題