【发布时间】:2020-06-24 17:29:32
【问题描述】:
我在另一个网站上找到了此代码。它应该在 Outlook 文件夹中找到一封电子邮件并解压缩附件。它使用一个临时位置来执行此操作。
我正在使用 Outlook 2013,我使用的参考是:Visual Basic for Application、Microsoft Outlook 15.0 对象库、OLE 自动化、Microsoft Office 15.0 对象库。我目前正在一个模块中运行此代码。
Option Explicit
Sub Unzip1()
Dim Inbox As MAPIFolder
Dim SubFolder As MAPIFolder
Dim Atchmt As Attachment
Dim FileName As String
Dim msg As Outlook.MailItem
Dim ns As Outlook.NameSpace '
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("ASE")
For Each msg In SubFolder.Items
For Each Atchmt In msg.Attachments
If (Right(Atchmt.FileName, 3) = "zip") Then
FileNameFolder = Environ("USERPROFILE") & "Documents\"
Set oApp = CreateObject("Shell.Application")
oApp.NameSpace(FileNameFolder).CopyHere oApp.NameSpace(Atchmt.FileName).Items
End If
Next
Next
End Sub
我在这一行收到错误“对象变量或未设置块变量”。
oApp.NameSpace(FileNameFolder).CopyHere oApp.NameSpace(Atchmt.FileName).Items
【问题讨论】:
-
你在
FileNameFolder = Environ("USERPROFILE") & "Documents\"之后失踪的Atchmt.SaveAsFile FileNameFolder