excel - 从 Outlook 保存专门命名的 Excel 文件
问题描述
我需要保存一个专门的名称文件。
我的代码保存了第一个附件。我正在使用 Excel 2016 和 Outlook 2016。
问题是我的邮件有多个附件。
Sub SaveDownAttachment()
Dim myOlApp As Outlook.Application
Dim myInspector As Outlook.Inspector
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Dim Folder As Outlook.MAPIFolder
Dim sFolders As Outlook.MAPIFolder
Dim iRow As Long, oRow As Integer
Dim MailBoxName As String, Pst_Folder_Name As String
Dim myname As String
Dim Email As String
myname = Application.UserName
Email = Right(myname, Len(myname) - WorksheetFunction.Search(" ", myname)) & "." & Left(myname, WorksheetFunction.Search(",", myname) - 1) & "gmail.com"
MailBoxName = Email
Pst_Folder_Name = "Inbox"
For Each Folder In Outlook.Session.Folders(MailBoxName).Folders
If VBA.UCase(Folder.Name) = VBA.UCase(Pst_Folder_Name) Then GoTo Label_Folder_Found
For Each sFolders In Folder.Folders
If VBA.UCase(sFolders.Name) = VBA.UCase(Pst_Folder_Name) Then
Set Folder = sFolders
GoTo Label_Folder_Found
End If
Next sFolders
Next Folder
Label_Folder_Found:
If Folder.Name = "" Then
MsgBox "Invalid Data in Input"
GoTo End_Lbl1:
End If
On Error Resume Next
For iRow = Folder.Items.Count To 1 Step -1
If Folder.Items.Item(iRow).Subject = "Night Reporting" Then
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = Folder.Items.Item(iRow)
Set myAttachments = myItem.Attachments
myAttachments.Item(3).SaveAsFile "S:\Luke\Night Report.xls"
Exit Sub
End If
Next iRow
exitsub:
Set Folder = Nothing
Set sFolders = Nothing
End_Lbl1:
End Sub
如果名称匹配,我将在哪里放置一个循环来保存文件?
解决方案
我想我自己已经得到了答案:
Sub SaveDownAttachment()
Dim myOlApp As Outlook.Application
Dim myInspector As Outlook.Inspector
Dim myItem As Outlook.MailItem
Dim Attachment As Attachment
Dim myAttachments As Outlook.Attachments
Dim i As Long
Dim Folder As Outlook.MAPIFolder
Dim sFolders As Outlook.MAPIFolder
Dim iRow As Long, oRow As Integer
Dim MailBoxName As String, Pst_Folder_Name As String
Dim myname As String
Dim Email As String
myname = Application.UserName
Email = Right(myname, Len(myname) - WorksheetFunction.Search(" ", myname)) & "." & Left(myname, WorksheetFunction.Search(",", myname) - 1) & "@gmail.com"
MailBoxName = Email
Pst_Folder_Name = "Inbox"
For Each Folder In Outlook.Session.Folders(MailBoxName).Folders
If VBA.UCase(Folder.Name) = VBA.UCase(Pst_Folder_Name) Then GoTo Label_Folder_Found
For Each sFolders In Folder.Folders
If VBA.UCase(sFolders.Name) = VBA.UCase(Pst_Folder_Name) Then
Set Folder = sFolders
GoTo Label_Folder_Found
End If
Next sFolders
Next Folder
Label_Folder_Found:
If Folder.Name = "" Then
MsgBox "Invalid Data in Input"
GoTo End_Lbl1:
End If
On Error Resume Next
For iRow = Folder.Items.Count To 1 Step -1
If InStr(1, Folder.Items.Item(iRow).Subject, "Night Reporting") > 0 Then
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = Folder.Items.Item(iRow)
Set myAttachments = myItem.Attachments
For i = 1 To myAttachments.Count
If InStr(myAttachments.Item(i).fileName, "Night Report.xls") > 0 Then
myAttachments.Item(i).SaveAsFile ""S:\Luke\Night Report.xls""
Exit For
End If
Next
Exit For
End If
Next iRow
End_Lbl1:
End Sub
推荐阅读
- html - 有人可以帮我在这个 div 上对齐 X 吗?我一直在玩它,无法弄清楚:(
- java - 将字符串电话号码转换为长:数字格式异常
- python - strptime 不更改 Excel 中的日期格式
- ios - 如何使用按钮获取 collectionView 的 indexPathForVisableSections?
- python - 存储图像特征向量的最有效方法是什么?
- jhipster - jhipster 应用程序无法运行 - 没有明显的错误
- r - 我正在处理 DTM,我想做 k-means、heirarchical 和 k-medoids 聚类。我想先规范化 DTM 吗?
- python - 在这种情况下,为什么 pandas 会删除 dataFrame 的所有行?
- javascript - 如果我有应用程序的源代码以及 macOS 和 Windows 安装程序,我如何才能找到用于构建应用程序的 Node.js 版本?
- html - HTML5:在我的 Angular 7 应用程序中,只允许 alpha bates 、 numbers 和空格用于输入文本框的正则表达式模式是什么?