메인 컨텐츠로 가기

Outlook 이메일 본문 텍스트를 Excel 스프레드 시트로 내보내는 방법은 무엇입니까?

작가: 실루비아 최종 수정 날짜: 2020-10-30

선택한 이메일 본문 텍스트를 Outlook에서 Excel 스프레드 시트로 내보내려는 경우이 문서의 방법이 도움이 될 수 있습니다.

VBA 코드를 사용하여 Outlook 이메일 본문 텍스트를 Excel 스프레드 시트로 내보내기


VBA 코드를 사용하여 Outlook 이메일 본문 텍스트를 Excel 스프레드 시트로 내보내기<

Outlook 이메일의 선택된 본문 텍스트를 Excel로 내보내려면 아래 VBA 코드를 실행하십시오.

1. 이메일을 열고 Excel 스프레드 시트로 내보낼 이메일 본문을 선택한 다음 다른 + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 에서 응용 프로그램 용 Microsoft Visual Basic 창을 클릭합니다 끼워 넣다 > 모듈. 그런 다음 VBA 코드 아래를 코드 창에 복사하십시오.

VBA 코드 : Outlook 이메일 본문 텍스트를 Excel 스프레드 시트로 내보내기

Sub ExportToExcel()
Dim xExcel As Excel.Application
Dim xWb As Workbook
Dim xWs As Worksheet
Dim xInspector As Inspector
Dim xItem As Object
Dim xMailItem As MailItem
Dim xDoc As Document
Dim xShell As Object
Dim xFilePath As String
On Error Resume Next
    Set xShell = CreateObject("Shell.Application")
    Set xFolder = xShell.BrowseForFolder(0, "Select a Folder:", 0, 0)
    If TypeName(xFolder) = "Nothing" Then Exit Sub
    Set xFolderItem = xFolder.Self
    xFilePath = xFolderItem.Path & "\"
    Set xItem = Outlook.Application.ActiveExplorer.Selection.item(1)
    If xItem.Class <> olMail Then Exit Sub
    Set xMailItem = xItem
    Set xInspector = xMailItem.GetInspector
    Set xDoc = xInspector.WordEditor
    xDoc.Application.Selection.Range.Copy
    xInspector.Close olDiscard
    Set xExcel = New Excel.Application
    Set xWb = xExcel.Workbooks.Add
    Set xWs = xWb.Sheets.item(1)
    xExcel.Visible = False
    xWs.Activate
    xWs.Paste
    xWs.SaveAs xFilePath & "Email body.xlsx"
    xWb.Close True
    xExcel.Quit
    Set xWs = Nothing
    Set xWb = Nothing
    Set xExcel = Nothing
End Sub

주의 사항: 코드에서 "이메일 body.xlsx”는 선택한 이메일 본문 텍스트로 만들 통합 문서 이름입니다. 필요에 따라 변경할 수 있습니다.

3. 클릭 도구 > 참고자료. 그런 다음 Microsoft Excel 개체 라이브러리Microsoft Word 개체 라이브러리 상자에 참조 – 프로젝트 대화 상자. 스크린 샷보기 :

4. 그런 다음 폴더 찾아보기 대화 상자가 나타나면 통합 문서를 저장할 폴더를 선택하고 OK 버튼을 클릭합니다.

이제“이메일 본문”이 생성되고 지정된 폴더에 저장됩니다. 통합 문서를 열면 선택한 전자 메일 본문 텍스트가 통합 문서의 Sheet1로 내 보내진 것을 볼 수 있습니다.


최고의 사무 생산성 도구

속보: Outlook용 Kutools 출시 무료 버전!

완전히 새로운 Outlook용 Kutools를 경험해보세요 70개 이상의 놀라운 기능을 갖춘 무료 버전으로 영원히 사용할 수 있습니다.! 지금 다운로드하려면 클릭하세요!

🤖 Kutools AI : AI 마법이 적용된 즉각적인 전문가 이메일 - 원클릭으로 천재적인 답변, 완벽한 어조, 다국어 숙달이 가능합니다. 손쉽게 이메일을 변환하세요! ...

📧 이메일 자동화: 자동 회신(POP 및 IMAP에서 사용 가능)  /  이메일 보내기 예약  /  이메일 발송 시 규칙에 따른 자동 참조/숨은참조  /  자동 전달(고급 규칙)   /  인사말 자동 추가   /  여러 수신자 이메일을 개별 메시지로 자동 분할 ...

📨 이메일 관리: 리콜 이메일  /  제목 및 기타 사기 이메일 차단  /  중복 이메일 삭제  /  고급 검색  /  폴더 통합 ...

📁 첨부 파일 프로일괄 저장  /  일괄 분리  /  일괄 압축  /  자동 저장   /  자동 분리  /  자동 압축 ...

🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모티콘   /  중요한 이메일이 오면 알림  /  문을 닫는 대신 전망을 최소화하세요 ...

???? 원클릭 불가사의: 수신 첨부 파일과 함께 전체 회신  /   피싱 방지 이메일  /  🕘발신자의 시간대 표시 ...

👩🏼‍🤝‍👩🏻 연락처 및 캘린더: 선택한 이메일에서 연락처 일괄 추가  /  연락처 그룹을 개별 그룹으로 분할  /  생일 알림 제거 ...

한 번의 클릭으로 Outlook용 Kutools를 즉시 잠금 해제—영구적으로 무료. 기다리지 마세요. 지금 다운로드하여 효율성을 높이세요!

Outlook 기능을 위한 kutools1 Outlook 기능을 위한 kutools2
 

 

 

Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
this work but in one email only what if in folder theres a multiple email thats need to be extracted in excel?
This comment was minimized by the moderator on the site
Você vai precisar implementar o código fazendo um Looping, com um FOR por exemplo:

Sub lerEmails()

' Criando a aplicação do Outlook
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")

' Criando um Namespace, que seria uma sessão no Outlook
Dim objNSpace As Object
Set objNSpace = objOutlook.GetNamespace("MAPI")

' Cria um objeto com a pasta Inbox do Outlook
Dim minhaPasta As Object
Set minhaPasta = objNSpace.GetDefaultFolder(olFolderInbox)

Dim i As Long
Dim itemPasta As Object

i = 2 'Linha que vai começar preenchendo na planilha

' Percorrer todos os itens dentro da pasta
For Each itemPasta In minhaPasta.Items

If itemPasta.Class = olMail Then
Dim objEmail As Outlook.MailItem
Set objEmail = itemPasta

Cells(i, 1).Value = objEmail.SenderEmailAddress
Cells(i, 2).Value = objEmail.To
Cells(i, 3).Value = objEmail.Subject
Cells(i, 4).Value = objEmail.ReceivedTime
Cells(i, 5).Value = objEmail.Body
Cells(i, 5).WrapText = False

End If
i = i + 1

Next

Set objEmail = Nothing
Set objOutlook = Nothing
Set objNSpace = Nothing
Set minhaPasta = Nothing

End Sub
This comment was minimized by the moderator on the site
Hi the code only returned directly, into the excel and not the body of the email, may I know why was that??
This comment was minimized by the moderator on the site
same issue for me as well
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations