태그 보관물: vba

vba

VB – Filenameincrement를 사용하여 첨부 파일 이름 바꾸기 / 이동 와서 내 필요에 맞게 변경했기 때문에

이 스크립트는 수퍼 유저 (또는 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 아주 독특합니다. 검색하고 제거한 다음 끝에 추가 할 수 있습니다.

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

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


답변