필자는 Excel 시트를 PDF로 저장하고 이그 제 큐 티브 팀에게 이메일로 보내는 매크로를 성공적으로 실행했습니다.런타임 오류 '1004'문서가 저장되지 않았습니다.
새로운 시트를 작성하여이를 다시 디자인하고 그에 따라 코드를 업데이트했습니다.
Sub NewDashboardPDF()
' New Executive Daily Dashboard Macro
'
' Create and email the Executive TEAM the Daily Dashboard.
Dim strPath As String, strFName As String
Dim OutApp As Object, OutMail As Object
' Create and email the Daily Report to Mitch/Dave/John/Jason ALL PAGES.
Sheets("Executive Dashboard").Select
strPath = Environ$("temp") & "\" 'Or any other path, but include trailing "\"
strFName = Worksheets("Executive Dashboard").Range("V2").Value & " " & Format(Date, "yyyymmdd") & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPath & strFName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
'Set up outlook
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'Create message
On Error Resume Next
With OutMail
.to = [email protected]
.CC = "[email protected]"
.BCC = ""
.Subject = "Daily Dashboard"
.Body = "All, " & vbNewLine & vbNewLine & _
"Please see the attached daily dashboard." & vbNewLine & _
"If you have any questions or concerns, please do not hesitate to contact me." & vbNewLine & _
"Steve"
.Attachments.Add strPath & strFName
.Display
.Send
End With
'Delete any temp files created
Kill strPath & strFName
On Error GoTo 0
End Sub
오류 메시지는 '런타임 오류'1004 '문서가 저장되지 않았습니다. 문서가 열려 있거나 오류가 발생할 수 있습니다.
디버깅 할 때 다음 섹션이 마지막 줄의 화살표로 강조 표시됩니다.
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPath & strFName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
이전 시트에 대한 모든 참조가 새 것으로 업데이트되었으므로 그 것이 문제가 아닙니다.
다른 기본 정보에 포함 된 기본 전자 메일 서명을 사용하여이 전자 메일을 만드는 방법을 알고 싶습니다. 현재는 일반 텍스트 이메일 형식으로되어 있습니다.
코드에 아무런 문제가 없으므로 Excel Office를 변경 했습니까? – 0m3r
충돌했을 때'strPath'와'strFName'의 값은 무엇입니까? 그들이 당신이 기대했던 것 이었습니까? – YowE3K
아주 기본적인 소스 코드 컨트롤조차도 도움이되는 상황입니다. 코드가 작동 할 때의 코드가 무엇인지, 그 코드가 맞지 않았다면 추측하기보다는 정확히 무엇이 다른지를 볼 수 있습니다. 컴퓨터에 scc가 없으면 github 온라인 또는 요지를 사용하여 다양한 변경 사항을 제공 할 수 있습니다. –