zipファイルを含むERPシステムからシステム生成の電子メールを受け取ります。zipファイル内には、ダッシュボードにインポートするデータを含むExcelファイルがあります。製。私は、電子メールを受信したときに成功したフォルダに.zipの添付ファイルを保存し、このコード持っている時点ではOutlook VBA添付ファイルを解凍してフォルダに保存
:
Sub saveAttachment2(Item As Outlook.MailItem)
Dim selItems As Selection
Dim objItem As Object
Dim iCount As Integer
Dim atmts As Attachments
Dim oAttachment As Attachment
Dim sSaveFolder As String
Set selItems = ActiveExplorer.Selection
sSaveFolder = "C:\Users\212357980\Documents\Accounts Coordination\Oracle Exports\"
For Each objItem In selItems
Set atmts = objItem.Attachments
For Each oAttachment In atmts
oAttachment.SaveAsFile sSaveFolder & "\Service Requests.zip"
Next
Next
End Sub
今私はそれが場所に保存する前には、ファイルを解凍したいと思いますが、これは私がこれまで持っているものです。
Sub Unzip2()
Dim ns As NameSpace 'variables for the main functionality
Dim Inbox As MAPIFolder
Dim SubFolder As MAPIFolder
Dim Atchmt As Attachment
Dim FileName As String
Dim msg As Outlook.MailItem
Dim FSO As Object 'variables for unzipping
Dim oApp As Object
Dim FileNameFolder As Variant
Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
Set SubFolder = Inbox.Folders("Sales Orders")
For Each msg In SubFolder.Items
For Each Atchmt In msg.Attachments
If (Right(Atchmt.FileName, 3) = "zip") Then
FileNameFolder = "C:\Users\212357980\Documents\Accounts Coordination\Oracle Exports\"
Set oApp = CreateObject("Shell.Application")
With oApp
.NameSpace(FileNameFolder).CopyHere
.NameSpace(Atchmt.FileName).Items
End With
On Error Resume Next
Set FSO = CreateObject("scripting.filesystemobject")
FSO.deletefolder Environ("Temp") & "\Temporary Directory*", True
End If
Next
Next
End Sub
私はエラー「引数の数が間違っまたは無効なプロパティの割り当て」と後の2本のライン上を取得します。
あなたが提供できるヘルプは素晴らしいでしょう!
あなたは一時フォルダにzipファイルを保存する必要があります... = 1(添付ファイルの数) 名前空間へなど(N)(Atchmt.FileName).Items を... nの を試してみて、そこから抽出してください:最初に保存せずにこれを行うことはできません。 –
'With oApp'ブロック内の2行は、1行に記述してください。 –