使用 VB 重命名/移动附件-Filenameincrement

使用 VB 重命名/移动附件-Filenameincrement

这个脚本可能看起来很熟悉,因为我从 Superuser(或 Stackoverflow)获取了此副本并根据自己的需要进行了更改。该脚本会移动 Outlook 项目,将附件复制到文件夹,然后打印所有附件。它非常有用,因为我的用户通常每天打印数百个附件,它可以节省大量时间。

我遇到的一个问题是 Filenameincrementer。它一直按以下方式重命名我的文件:

文件.pdf1 文件.pdf2 文件.pdf3 文件.pdf4

虽然我想要:

文件1.pdf 文件2.pdf 文件3.pdf 文件4.pdf

我该怎么做才能实现这个目标?

免责声明:第一次涉足 VB,所以要温柔一点。

Public Sub PrintPDFs()
Dim Inbox As MAPIFolder
Dim Item As MailItem
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim Filenameincrementer As Integer
Filenameincrementer = 1

Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders.Item("MAIL_INCOMING")

For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
FileName = "X:\Folder\" & Atmt.FileName & Filenameincrementer
Atmt.SaveAsFile FileName
Shell """C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe"" -p """ + FileName + """", vbHide
Filenameincrementer = Filenameincrementer + 1
Next
Item.Move GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders.Item("MAIL_PRINTED")
Next

Set Inbox = Nothing
End Sub

答案1

如果足够的话,您可以使用 hack 来实现这一点。由于.pdf非常独特,我们可以搜索它,将其删除,然后将其添加到末尾。

FileName = "X:\Folder\" & Atmt.FileName & Filenameincrementer 'remains the same
FileName = Replace(FileName, ".pdf", "") & ".pdf" ' I'm a new line of code. Hurray
Atmt.SaveAsFile FileName 'remains the same

我无法测试它但它应该可以正常工作......

相关内容