Outlook은 특정 폴더를 스캔하고 이메일의 모든 첨부 파일을 저장합니다.

Grzegorz Pyko

Outlook에서 선택한 항목 (메일)에 대한 첨부 파일을 저장하는이 코드가 있습니다.

특정 폴더를 설정하고 (정의) Outlook에서 해당 폴더의 모든 전자 메일을 자동으로 검색하고 첨부 파일을 저장합니다.

이 코드를 어떻게 확장해야 그런 식으로 작동합니까?

Public Sub SaveAttachments()

Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem 
Dim objAttachments As Outlook.Attachments
Dim objItems As Outlook.Items
Dim objSelection As Outlook.Selection
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String

strFolderpath = "C:\Users\gpyko\Desktop\Pentaho project\HDPS RAPORTY"
Set objOL = CreateObject("Outlook.Application")
Set objSelection = objOL.ActiveExplorer.Selection
strFolderpath = strFolderpath & "\Attachments\"

For Each objMsg In objSelection

  Set objAttachments = objMsg.Attachments
  lngCount = objAttachments.Count
  strDeletedFiles = ""

  If lngCount > 0 Then

    For i = lngCount To 1 Step -1

      strFile = objAttachments.Item(i).FileName
      strFile = strFolderpath & strFile
      objAttachments.Item(i).SaveAsFile strFile
      objAttachments.Item(i).Delete

      If objMsg.BodyFormat <> olFormatHTML Then

            strDeletedFiles = strDeletedFiles & vbCrLf & "<file://" & strFile & ">"
      Else
            strDeletedFiles = strDeletedFiles & "<br>" & "<a href='file://" & _
            strFile & "'>" & strFile & "</a>"
      End If

    Next i

      If objMsg.BodyFormat <> olFormatHTML Then

          objMsg.Body = vbCrLf & "The file(s) were saved to " & strDeletedFiles & vbCrLf & objMsg.Body
      Else
          objMsg.HTMLBody = "<p>" & "The file(s) were saved to " & strDeletedFiles & "</p>" & objMsg.HTMLBody
      End If
      objMsg.Save

  End If

Next

ExitSub:
Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub
0m3r

objSelection을 Dim SubFolder As Outlook.MAPIFolder다음으로 바꾸십시오.For Each objMsg In SubFolder.Items

또한 Outlook에서 코드를 실행하는 경우 Outlook 개체를 만들 필요가 없습니다. CreateObject("Outlook.Application")

폴더 이름을 업데이트하십시오.

Set SubFolder = olNs.GetDefaultFolder(olFolderInbox).Folders("Folder Name")

Option Explicit
Public Sub SaveAttachments()
    Dim olNs As Outlook.NameSpace
    Dim objMsg As Outlook.MailItem
    Dim objAttachments As Outlook.Attachments
    Dim objItems As Outlook.Items
    Dim SubFolder As Outlook.MAPIFolder
    Dim i As Long
    Dim lngCount As Long
    Dim strFile As String
    Dim strFolderpath As String
    Dim strDeletedFiles As String

    strFolderpath = "C:\Users\gpyko\Desktop\Pentaho project\HDPS RAPORTY"

    Set olNs = Application.GetNamespace("MAPI")

    Set SubFolder = olNs.GetDefaultFolder(olFolderInbox).Folders("Folder Name")

    strFolderpath = strFolderpath & "\Attachments\"


    For Each objMsg In SubFolder.Items
        Set objAttachments = objMsg.Attachments
        lngCount = objAttachments.Count
        strDeletedFiles = ""

        If lngCount > 0 Then

            For i = lngCount To 1 Step -1

            strFile = objAttachments.Item(i).FileName
            strFile = strFolderpath & strFile
            objAttachments.Item(i).SaveAsFile strFile
            objAttachments.Item(i).Delete

            If objMsg.BodyFormat <> olFormatHTML Then

                strDeletedFiles = strDeletedFiles & vbCrLf & "<file://" & strFile & ">"
            Else
                strDeletedFiles = strDeletedFiles & "<br>" & "<a href='file://" & _
                strFile & "'>" & strFile & "</a>"
            End If

            Next i

            If objMsg.BodyFormat <> olFormatHTML Then

                objMsg.Body = vbCrLf & "The file(s) were saved to " & strDeletedFiles & vbCrLf & objMsg.Body
            Else
                objMsg.HTMLBody = "<p>" & "The file(s) were saved to " & strDeletedFiles & "</p>" & objMsg.HTMLBody
            End If

            objMsg.Save

        End If
    Next


ExitSub:
    Set objAttachments = Nothing
    Set objMsg = Nothing
    Set SubFolder = Nothing
    Set olNs = Nothing
End Sub

Excel에서 실행하려면.

Option Explicit
Public Sub SaveAttachments()
    Dim App As Outlook.Application
    Dim olNs As Outlook.Namespace
    Dim objMsg As Outlook.MailItem
    Dim objAttachments As Outlook.Attachments
    Dim objItems As Outlook.Items
    Dim SubFolder As Outlook.MAPIFolder
    Dim i As Long
    Dim lngCount As Long
    Dim strFile As String
    Dim strFolderpath As String
    Dim strDeletedFiles As String

    strFolderpath = "C:\Users\gpyko\Desktop\Pentaho project\HDPS RAPORTY"
    Set App = New Outlook.Application
    Set olNs = App.GetNamespace("MAPI")

    Set SubFolder = olNs.GetDefaultFolder(olFolderInbox).Folders("Folder Name")

    strFolderpath = strFolderpath & "\Attachments\"


    For Each objMsg In SubFolder.Items
        Set objAttachments = objMsg.Attachments
        lngCount = objAttachments.Count
        strDeletedFiles = ""

        If lngCount > 0 Then

            For i = lngCount To 1 Step -1

            strFile = objAttachments.Item(i).Filename
            strFile = strFolderpath & strFile
            objAttachments.Item(i).SaveAsFile strFile
            objAttachments.Item(i).Delete

            If objMsg.BodyFormat <> olFormatHTML Then

                strDeletedFiles = strDeletedFiles & vbCrLf & "<file://" & strFile & ">"
            Else
                strDeletedFiles = strDeletedFiles & "<br>" & "<a href='file://" & _
                strFile & "'>" & strFile & "</a>"
            End If

            Next i

            If objMsg.BodyFormat <> olFormatHTML Then

                objMsg.Body = vbCrLf & "The file(s) were saved to " & strDeletedFiles & vbCrLf & objMsg.Body
            Else
                objMsg.HTMLBody = "<p>" & "The file(s) were saved to " & strDeletedFiles & "</p>" & objMsg.HTMLBody
            End If

            objMsg.Save

        End If
    Next

ExitSub:
    Set objAttachments = Nothing
    Set objMsg = Nothing
    Set SubFolder = Nothing
    Set olNs = Nothing
End Sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Outlook 365 (2016)는 모든 첨부 파일을 보내지 않고 하나의 첨부 파일 만 보냅니다.

분류에서Dev

특정 사서함의 모든 메시지에서 모든 첨부 파일을 삭제하는 가장 좋은 방법

분류에서Dev

태그 된 모든 첨부 파일을 정말 쉽게 mutt에 저장하는 방법은 무엇입니까?

분류에서Dev

파일이없는 폴더의 모든 폴더와 하위 폴더를 반복적으로 정리합니다.

분류에서Dev

Excel 파일의 첨부 파일을 VBA로 열고 Outlook에서 결정된 폴더의 메시지를 seva하기 전에 파일 내부를 어떻게 확인할 수 있습니까?

분류에서Dev

특정 폴더의 모든 이메일을 무시하고 Outlook을 검색하려면 어떻게해야합니까?

분류에서Dev

특정 하위 폴더를 제거하지만 그 안의 모든 항목을 먼저 외부로 이동하는 배치 파일

분류에서Dev

특정 도메인의 모든 전자 메일을 폴더로 이동하는 Outlook 규칙을 만들려면 어떻게합니까?

분류에서Dev

Outlook 폴더의 최신 메일에서 첨부 파일을 찾고 다운로드하는 방법은 무엇입니까?

분류에서Dev

Microsoft Access를 사용하여 다른 계정의 Outlook 이메일에서 첨부 파일을 가져와야합니다.

분류에서Dev

하나의받은 편지함에 여러 이메일 주소를 첨부 한 다음받은 이메일을 폴더로 필터링하고 싶습니다.

분류에서Dev

파일을 다른 폴더로 이동하고 이메일 첨부 파일에 폴더 URL을 보냅니다.

분류에서Dev

특정 sobject 레코드의 모든 첨부 파일 목록을 얻는 방법은 무엇입니까?

분류에서Dev

몇 가지 특정 폴더를 제외하고 모든 파일과 폴더를 재귀 적으로 제거하는 방법은 무엇입니까?

분류에서Dev

폴더 내의 모든 Excel 파일을 반복하고 SAS로 각각의 특정 셀을 추출합니다.

분류에서Dev

더 많은 첨부 파일을 추가하고 특정 번호에서 중지

분류에서Dev

Python 및 OS를 사용하여 특정 폴더의 모든 csv 파일을 병합하는 방법

분류에서Dev

IMAP 또는 POP3를 통해 사용자 지정 도메인에서 모든 사서함 + 첨부 파일을 다운로드하고 보관합니다.

분류에서Dev

폴더에있는 모든 .zip 파일의 내용을 나열하고 특정 파일에 대한 grep을 나열하는 방법은 무엇입니까?

분류에서Dev

파이썬은 모든 하위 폴더의 파일 이름에 폴더 이름을 추가합니다.

분류에서Dev

특정 순서로 폴더의 모든 문서를 병합하고 병합 된 출력을 정렬합니다.

분류에서Dev

VBA를 사용하여 자동화-여러 기준에 따라 여러 첨부 파일을 특정 폴더에 저장

분류에서Dev

특정 폴더 내의 모든 폴더를 제외하고 모든 폴더를 재귀 적으로 chmod하는 방법은 무엇입니까?

분류에서Dev

특정 파일을 제외한 모든 파일을 삭제하는 방법 (디렉토리의 많은 폴더에 대해)? bash 스크립트를 통해

분류에서Dev

Bash : 파일 이름에 특정 문자열이 포함 된 파일을 제외하고 동일한 확장자를 가진 모든 파일을 루트 / 현재 폴더에 복사합니다.

분류에서Dev

특정 속성이 누락 된 하위 폴더의 모든 파일을 찾으려면 어떻게합니까?

분류에서Dev

Outlook 폴더의 모든 이메일에서 답장 주소를 추출합니다 (대신 발송).

분류에서Dev

autoit lib (Automation Robot Framework)를 사용하여 메모장 파일을 특정 폴더에 저장하는 방법

분류에서Dev

큰 트리의 특정 이름이 지정된 폴더에서 특정 확장자를 가진 모든 파일을 삭제하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Outlook 365 (2016)는 모든 첨부 파일을 보내지 않고 하나의 첨부 파일 만 보냅니다.

  2. 2

    특정 사서함의 모든 메시지에서 모든 첨부 파일을 삭제하는 가장 좋은 방법

  3. 3

    태그 된 모든 첨부 파일을 정말 쉽게 mutt에 저장하는 방법은 무엇입니까?

  4. 4

    파일이없는 폴더의 모든 폴더와 하위 폴더를 반복적으로 정리합니다.

  5. 5

    Excel 파일의 첨부 파일을 VBA로 열고 Outlook에서 결정된 폴더의 메시지를 seva하기 전에 파일 내부를 어떻게 확인할 수 있습니까?

  6. 6

    특정 폴더의 모든 이메일을 무시하고 Outlook을 검색하려면 어떻게해야합니까?

  7. 7

    특정 하위 폴더를 제거하지만 그 안의 모든 항목을 먼저 외부로 이동하는 배치 파일

  8. 8

    특정 도메인의 모든 전자 메일을 폴더로 이동하는 Outlook 규칙을 만들려면 어떻게합니까?

  9. 9

    Outlook 폴더의 최신 메일에서 첨부 파일을 찾고 다운로드하는 방법은 무엇입니까?

  10. 10

    Microsoft Access를 사용하여 다른 계정의 Outlook 이메일에서 첨부 파일을 가져와야합니다.

  11. 11

    하나의받은 편지함에 여러 이메일 주소를 첨부 한 다음받은 이메일을 폴더로 필터링하고 싶습니다.

  12. 12

    파일을 다른 폴더로 이동하고 이메일 첨부 파일에 폴더 URL을 보냅니다.

  13. 13

    특정 sobject 레코드의 모든 첨부 파일 목록을 얻는 방법은 무엇입니까?

  14. 14

    몇 가지 특정 폴더를 제외하고 모든 파일과 폴더를 재귀 적으로 제거하는 방법은 무엇입니까?

  15. 15

    폴더 내의 모든 Excel 파일을 반복하고 SAS로 각각의 특정 셀을 추출합니다.

  16. 16

    더 많은 첨부 파일을 추가하고 특정 번호에서 중지

  17. 17

    Python 및 OS를 사용하여 특정 폴더의 모든 csv 파일을 병합하는 방법

  18. 18

    IMAP 또는 POP3를 통해 사용자 지정 도메인에서 모든 사서함 + 첨부 파일을 다운로드하고 보관합니다.

  19. 19

    폴더에있는 모든 .zip 파일의 내용을 나열하고 특정 파일에 대한 grep을 나열하는 방법은 무엇입니까?

  20. 20

    파이썬은 모든 하위 폴더의 파일 이름에 폴더 이름을 추가합니다.

  21. 21

    특정 순서로 폴더의 모든 문서를 병합하고 병합 된 출력을 정렬합니다.

  22. 22

    VBA를 사용하여 자동화-여러 기준에 따라 여러 첨부 파일을 특정 폴더에 저장

  23. 23

    특정 폴더 내의 모든 폴더를 제외하고 모든 폴더를 재귀 적으로 chmod하는 방법은 무엇입니까?

  24. 24

    특정 파일을 제외한 모든 파일을 삭제하는 방법 (디렉토리의 많은 폴더에 대해)? bash 스크립트를 통해

  25. 25

    Bash : 파일 이름에 특정 문자열이 포함 된 파일을 제외하고 동일한 확장자를 가진 모든 파일을 루트 / 현재 폴더에 복사합니다.

  26. 26

    특정 속성이 누락 된 하위 폴더의 모든 파일을 찾으려면 어떻게합니까?

  27. 27

    Outlook 폴더의 모든 이메일에서 답장 주소를 추출합니다 (대신 발송).

  28. 28

    autoit lib (Automation Robot Framework)를 사용하여 메모장 파일을 특정 폴더에 저장하는 방법

  29. 29

    큰 트리의 특정 이름이 지정된 폴더에서 특정 확장자를 가진 모든 파일을 삭제하는 방법은 무엇입니까?

뜨겁다태그

보관