4
Powershellを使用して、ローカルフォルダに保存されている電子メールメッセージの内容を解析しています。次のようにコードがあるmsgファイルの内容を文字列に取得
...今の
Get-ChildItem "C:\projtest\emails" -Filter *.msg |
ForEach-Object {
$msg = ""
$outlook = New-Object -comobject outlook.application
$msg = $outlook.Session.OpenSharedItem($_.FullName)
$msg | Select -ExpandProperty body
Write-Host $msg
}
$outlook.Quit()
は、私は、ファイルを開いて内容を取得し、それを表示したいです。
私が実行している問題は、スクリプトが実行されるとOUTLOOK.EXEが終了しないため、同じメッセージに対してスクリプトを再度実行できないということです。
Outlookの電子メールメッセージを開いて内容をPowerShellの文字列に変換し、Outlookプロセスを終了するには、より良い方法がありますか?
残念ながら、それは違いはありません。 このメッセージは、スクリプトを再度実行しようとしたときに発生します。 OUTLOOK.EXEはプロセス内でまだ実行中です。 'C:\ projtest \ emails \ Project Creations 42517.msg 'を開くことができません。ファイルが既に開いているか、ファイルを開く権限がありません。」 – Brandon
問題を解決するために私の答えを更新しました。 – TheMadTechnician
非常に感謝!このアイデアは、メッセージを開く/解析することができるが、その過程でOutlookを閉じる必要はない。 Outlookプロセスを強制終了せずに.msgファイルを閉じるだけの方法があることを期待していました。 – Brandon