VB - Filenameincrement를 사용하여 첨부 파일 이름 바꾸기 / 이동


1

이 스크립트는 수퍼 유저 (또는 Stackoverflow)에서이 복사본을 가져 와서 내 필요에 맞게 변경했기 때문에 익숙한 것처럼 보일 수 있습니다. 스크립트는 Outlook 항목을 주변으로 이동하고 첨부 파일을 폴더에 복사 한 다음 모든 첨부 파일을 인쇄합니다. 내 사용자가 일반적으로 매일 수백 개의 첨부 파일을 인쇄하므로 매우 유용합니다.

필자가 Filenameincrementer와 함께 한 가지 문제가 있습니다. 내 파일의 이름을 다음과 같이 변경합니다.

File.pdf1 File.pdf2 File.pdf3 File.pdf4

내가 원하는 동안 :

File1.pdf File2.pdf File3.pdf File4.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

PDF 전용입니까?
Dave

Stack Overflow에 대한 좋은 질문입니다.
Dmitry Grigoryev

답변:


0

충분하다면 해킹으로이 작업을 수행 할 수 있습니다. 이후 .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

나는 그것을 테스트 할 수는 없지만 잘 작동합니다 ...


또는 더 간단하게 FileName = "X:\Folder\" & replace(Atmt.Filename,".PDF", Fileincrementer & ".PDF")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.