【发布时间】:2018-05-24 20:17:38
【问题描述】:
如果文件与主题匹配,我有一个有效的 VBA 脚本可以将文件下载到特定位置。
我想将这些文件自动转换为 .xlsx。我在网上找到了第二部分的代码。
(我在 VBA 库中添加了对 Microsoft Excel XX.X 对象库的引用。)
自动下载/重命名代码:
Public Sub save95Attachment(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
Dim filePath As String
Dim tempPath As String
Dim ExcelApp As Excel.Application
Dim wb As Excel.Workbook
saveFolder = "C:\Users\username\Documents\OLAttachments\Temp"
dateFormat = Format(itm.ReceivedTime, "yyyymmdd")
For Each objAtt In itm.Attachments
filePath = saveFolder & "\" & dateFormat & "_file" & ".xls"
objAtt.SaveAsFile filePath
Set objAtt = Nothing
Next
End Sub
转换为 xlsx 的代码:
Public Sub ConvertXlsToXlsx(Atmt As Attachment, FullFileName_And_Path As String)
Dim tempPath As String
Dim ExcelApp As Excel.Application
Dim wb As Excel.Workbook
tempPath = Environ("TEMP") & "\converttemp.xls"
Atmt.SaveAsFile tempPath
ExcelApp = New Excel.Application
Set wb = ExcelApp.Workbooks.Open(tempPath)
wb.SaveAs FullFileName_And_Path, Excel.XlFileFormat.xlOpenXMLWorkbook
wb.Close False
Set wb = Nothing
ExcelApp.Quit
Set ExcelApp = Nothing
Kill wb 'Clean up the temp file
End Sub
Outlook 规则自动下载/重命名后,我希望文件自动转换为 xlsx 并删除旧文件。
【问题讨论】: