안녕하세요! 나는 VB에 익숙하지 않다. 온라인에서 사용할 수있는 일부 VB 스크립트의 도움을 받아 Outlook에서 메일을 자동으로 내보내려고합니다. 나는 80 %의 결과로 끝났습니다. 내가 사용한 코드를 살펴보십시오. 그 안에, 수출 코드를 추가해야합니다 메일 본문도 있습니다. 누군가 나를 안내 해주세요.Outlook 전자 메일을 Excel로 내보내기
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim strExcelFile As String
Dim objExcelApp As Excel.Application
Dim objExcelWorkBook As Excel.Workbook
Dim objExcelWorkSheet As Excel.Worksheet
Dim nNextEmptyRow As Integer
Dim strColumnB As String
Dim strColumnC As String
Dim strColumnD As String
Dim strColumnE As String
If Item.Class = olMail Then
Set objMail = Item
End If
strExcelFile = "d:\LocalData\Z018439\Desktop\MY\NX-AMO\Mail Export\export.xlsx"
On Error Resume Next
Set objExcelApp = GetObject(, "Excel.Application")
If Error <> 0 Then
Set objExcelApp = CreateObject("Excel.Application")
End If
Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
strColumnB = objMail.SenderName
strColumnC = objMail.SenderEmailAddress
strColumnD = objMail.Subject
strColumnE = objMail.ReceivedTime
If StrComp(strColumnB, "service_manager7[email protected]", vbTextCompare) = 0 Then
objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
objExcelWorkSheet.Columns("A:E").AutoFit
objExcelWorkBook.Close SaveChanges:=True
End If
objExcelApp.Quit
Set objExcelApp = Nothing
Set objExcelWorkBook = Nothing
Set objExcelWorkSheet = Nothing
Set objMail = Nothing
End Sub
VB.Net은'Set' 문을 사용합니까 ?? VBA에서만 필요하다고 생각했습니다. – YowE3K
@ YowE3K : 아니요. 'Set'은 VB.NET에 존재하지도 않습니다 (적어도 그 상황에서는 아닙니다). 이 VBA 태그가 있어야합니다. –