2017-10-11 20 views
0

添付ファイルを自動的にダウンロードするにはどうすればよいですか?Outlookの添付ファイルであるOutlookの添付ファイルをダウンロードする

imag here

私はこのVBAスクリプトを使用してダウンロードしようとしたが、それは、Outlookアイテムには使用できません。これは、.txtやその他の種類の添付ファイルで動作します。

+0

これは 'vb.net'のようには見えません。その中には' vb6'と混ざっているものもあります。あなたはそれが「見通し項目」のためにはうまくいかないことを記述できますか? – Codexer

+0

sry ..........そのvb.netのvbaコードではありません。このコードは、.txtや.excelなどの形式の添付ファイルで動作しますが、ファイル形式の見通しに対しては機能しません。どのようにOutlookの形式が見えるかの画像を見る –

答えて

1

Outlookアイテムの名前は、ファイル名に不正な文字を含むことがあります。例えば

タスク名でのコロン文字:KM_CEM_GY

この問題に対処するには、少なくとも2つの標準的な方法があります。

Outlook 2010 VBA How to save message including attachment

Private Sub ReplaceCharsForFileName(sName As String, sChr As String) 
    sName = Replace(sName, "'", sChr) 
    sName = Replace(sName, "*", sChr) 
    sName = Replace(sName, "/", sChr) 
    sName = Replace(sName, "\", sChr) 
    sName = Replace(sName, ":", sChr) 
    sName = Replace(sName, "?", sChr) 
    sName = Replace(sName, Chr(34), sChr) 
    sName = Replace(sName, "<", sChr) 
    sName = Replace(sName, ">", sChr) 
    sName = Replace(sName, "|", sChr) 
End Sub 

VBA dialog boxes automatically answer solution

Function StripIllegalChar(StrInput) 
    Dim RegX   As Object 

    Set RegX = CreateObject("vbscript.regexp") 

    RegX.Pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]" 
    RegX.IgnoreCase = True 
    RegX.Global = True 

    StripIllegalChar = RegX.Replace(StrInput, "") 

ExitFunction: 
    Set RegX = Nothing 

End Function 
0

は、Outlookから添付ファイルをダウンロードしたい場合は、これを試してみてください。 ます。Private Subのgetattachments()

Dim ns As Namespace 
Dim Inbox As Outlook.MAPIFolder 
Dim Item As Object 
Dim Atmt As Outlook.Attachment 
Dim FileName As String 

Set ns = GetNamespace("MAPI") 
Set Inbox = ns.Folders("MailboxName").Folders("Inbox") 

If Inbox.Items.Count = 0 Then 
    MsgBox "There are no messages in the Inbox.", vbInformation, _ 
      "Nothing Found" 
    Exit Sub 
End If 

For Each Item In Inbox.Items 
    For Each Atmt In Item.Attachments 
     If Atmt.Type = 1 And InStr(Atmt, "xlsx") > 0 Then 
      FileName = "C:\attachments\" & Atmt.FileName 
      Atmt.SaveAsFile FileName 
     End If 
    Next Atmt 
Next Item 

End Subの はMS Outlookへの参照を設定し、覚え、 "MailboxNameのは、" あなたの電子メールアドレスです。

関連する問題