Outlook 2010からサーバーに電子メールの添付ファイルを自動的にプルできるWindowsベースの方法はありますか?サーバー上のフォルダーに手動で保存した添付ファイルが付いた電子メールを毎日受け取ります。このプロセスを自動化する必要があります。
私が試したこと-
outlookでルールを作成し、それにスクリプトを作成しようとしました。しかし、それは私のPC上の私のローカルフォルダに添付ファイルを保存するだけです。 Outlookを開いたときにのみ保存されます。 Outlookがサーバーで開かれていない場合でも、サーバーに保存して保存します。Outlookに保存したスクリプトは次のとおりです
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "D:\newfolder"
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".xls") Then
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
End If
Set objAtt = Nothing
Next
End Sub
VBAの実行は、クライアント側のみの操作です。つまり、PCがオンになっていて、Outlookがスクリプトを有効にして実行されている必要があります。 Outlookを実行していない場合、必要なことはできません。おそらくサーバー側のソリューションがありますが、それはserverfault.comにとっての問題です
特定の電子メールの添付ファイルを処理する場合は、これを使用します。 Outlook 2013では、私にとっては完全に機能します。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
ルールの最後の部分は、スクリプトの実行です。
Outlook VBAに精通していない他のユーザーは、開発者リボンを表示する必要があります。
上記のコードを貼り付け、VBAを保存して、ルールで参照します。
OutlookアカウントがPOP3またはIMAPである場合、受信メッセージ以外にイベントをトリガーする方法がないため、クライアントが閉じている間はマクロまたはルールを実行できません。
ExchangeでOutlookを実行している場合は、受信トレイに配信される前に添付ファイルを保存するためのアカウントのルールをサーバーに作成する必要があります。ルールにはUNCアドレス(\\server\folder
、ローカルにマップされたドライブアドレス(D:\folder
)サーバーが認識しません。
セキュリティ上の理由から、ネットワーク管理者がサーバー側のルールを無効にしている場合があることに注意してください。あなたはこれを行うことができることを確認するために彼らに確認する必要があります。
追加情報: クライアント側とサーバー側のルール