【问题标题】:Outlook rename attachments and save to folderOutlook重命名附件并保存到文件夹
【发布时间】:2014-06-16 13:14:26
【问题描述】:

我有一个脚本,我发现它当前可以保存附件,但我还需要它来将这些附件重命名为相同的名称。

我正在创建一个系统来更新我的一个网站上的库存。为此,我从我们的 ERP 中获得一份报告(CSV),其中包含我所有的项目编号和库存计数。

他们通过电子邮件发送给我,但附加的 CSV 始终具有以不同数字结尾的名称。

我需要文件每次都具有相同的名称,因为我的脚本将该 CSV 保存到一个文件夹中,并且我有一个 FTP 程序,该程序可以自动将该 CSV FTP 到我的 Web 服务器。

从这里我有一个关于 cron 作业的 PHP 脚本,它通过 CSV 运行并更新我的产品的数量。

相信我,如果我的 ERP 有一个 API,这会容易得多,但运气不好。

无论如何,我的问题在于附件的命名。下面的脚本保存了它,但我还需要它来删除名称中的数字或将其命名为“CPNINVTRUM”。

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
     Dim objAtt As Outlook.Attachment
     Dim saveFolder As String
     saveFolder = "C:\PATH"
     For Each objAtt In itm.Attachments
     objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
     Set objAtt = Nothing
     Next
End Sub

附件始终采用以下形式:CPNINVTRUM###.csv。 ### 表示 ERP 生成的 3 位随机数。

【问题讨论】:

  • 请举例说明当前的附件名称。
  • 都是这样的CPNINVTRUM###.CSV。末尾的 ### 始终是 3 位数字。
  • 如何将多个附件保存到同名文件中?该文件将被覆盖。如果你不关心, SaveAsFile 行应该是 objAtt.SaveAsFile "C:\PATH\CPNINVTRUM"
  • 我不在乎。我使用的 FTP 程序在上传文件后会移动文件,最重要的是,我在 Outlook 中有一条规则,仅当主题包含特定内容时才运行此脚本。我想我已经涵盖了所有内容。

标签: vba outlook


【解决方案1】:

将保存行改为

objAtt.SaveAsFile saveFolder & "\CPNINVTRUM.csv"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2023-04-03
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多