전자 메일을 처리하여 Excel에 붙여 넣은 Outlook 매크로가 있고 이후 처리를 위해 Excel 매크로를 호출합니다. 별도로 호출 할 때 두 매크로는 예상대로 작동합니다. 그러나 Outlook 매크로에서 Excel 매크로를 호출하려고하면 전자 메일 아니요 Excel 통합 문서에 붙여 넣은 다음 Excel 매크로를 호출 할 때 데이터가 없기 때문에 오류가 발생합니다.Outlook VBA Excel 매크로 호출
xlApp.Run ("PERSONAL.XLSB!Commissions_Report_Format")
가 Excel로 아웃룩에서 붙여 넣기하지 않는 데이터를 일으킬 왜 어떤 생각? 오류는이 코드 줄이있는 경우에만 발생합니다. 미리 감사드립니다!
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Option Explicit
Sub PasteToExcel(item As Outlook.MailItem)
Dim activeMailMessage As MailItem
Dim xlApp As Excel.Application
Dim Wb As Excel.Workbook
Dim Ws As Excel.Worksheet
'Get a handle on the email
Set activeMailMessage = ActiveExplorer.Selection.item(1)
'Copy the formatted text:
activeMailMessage.GetInspector().WordEditor.Range.FormattedText.Copy
'Ensure Excel Application is open
Set xlApp = CreateObject("Excel.Application")
'Make Excel Application visible
xlApp.Visible = True
'Open the Personal Macro Workbook, or the Excel macro won't run
xlApp.Workbooks.Open ("C:\Users\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb")
'Name the Excel File
Set Wb = xlApp.Workbooks.Add
'Paste the email
Set Ws = xlApp.Sheets(1)
Ws.Activate
Ws.Range("A1").Select
Sleep 3000
Selection.PasteSpecial xlPasteValues
Sleep 3000 'wait for 3 seconds
'Run the Excel macro to clean up the file
xlApp.Run ("PERSONAL.XLSB!Commissions_Report_Format")
End Sub
코드에서 절전 모드를 사용하고있는 것을 확인합니다. 전자 메일을 붙여 넣을 수있을만큼 충분히 잠자고 있습니까? – user2676140
확인 - 수정 사항이 아닌 것 같습니다. 이 코드는 간헐적 인 런타임 91 오류가 발생합니다. 때로는 코드가 제대로 작동하지 않는 경우도 있습니다. 이견있는 사람? – battery514
질문에 xlsb 코드를 추가 할 수 있습니까? – 0m3r