안녕하세요 저는 귀하의 코드를 사용하여 Excel 범위를 전자 메일 첨부 파일로 보내고 있지만 범위를 취소하면 런타임 오류가 발생합니다. 내가 추가할 수 있는 코드나 이런 일이 발생하지 않도록 msgbox가 있습니까? 아래 코드 감사합니다.
하위 SendRange()
Dim xFile을 문자열로
xFormat을 최대한 흐리게
통합 문서로 희미한 Wb
통합 문서로 희미한 Wb2
워크시트로 희미한 W
Dim FilePath를 문자열로
문자열로 Dim FileName
OutlookApp을 개체로 흐리게 처리
OutlookMail을 개체로 흐리게 처리
희미한 작업 범위
xTitleId = "예시"
Set WorkRng = 응용 프로그램.선택
WorkRng 설정 = Application.InputBox("범위", xTitleId, WorkRng.Address, 유형:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Wb = Application.ActiveWorkbook 설정
Wb.워크시트.추가
설정 Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.복사
Wb2 = Application.ActiveWorkbook 설정
케이스 Wb.FileFormat 선택
사례 xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXML워크북
케이스 xlOpenXMLWorkbookMacroEnabled:
Wb2.HasVBProject이면
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
다른
xFile = ".xlsx"
xFormat = xlOpenXML워크북
END IF
사례 Excel8:
xFile = ".xls"
x형식 = Excel8
케이스 xlExcel12:
xFile = ".xlsb"
x형식 = xlExcel12
선택 종료
파일 경로 = Environ$("temp") & "\"
파일 이름 = Wb.Name 및 형식(지금, "dd-mmm-yy h-mm-ss")
OutlookApp = CreateObject("Outlook.Application") 설정
OutlookMail 설정 = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
OutlookMail 사용
.To = "gtest@email.com"
.CC = ""
.BCC = ""
.Subject = "테스트"
.Body = "안녕하세요."
.Attachments.Wb2.FullName 추가
.보내다
끝
Wb2.닫기
FilePath & FileName & xFile 죽이기
OutlookMail 설정 = 없음
OutlookApp 설정 = 없음
삭제
Application.DisplayAlerts = 참
Application.ScreenUpdating = True
최종 하위
하위 SendRange()
Dim xFile을 문자열로
xFormat을 최대한 흐리게
통합 문서로 희미한 Wb
통합 문서로 희미한 Wb2
워크시트로 희미한 W
Dim FilePath를 문자열로
문자열로 Dim FileName
OutlookApp을 개체로 흐리게 처리
OutlookMail을 개체로 흐리게 처리
희미한 작업 범위
xTitleId = "예시"
Set WorkRng = 응용 프로그램.선택
WorkRng 설정 = Application.InputBox("범위", xTitleId, WorkRng.Address, 유형:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Wb = Application.ActiveWorkbook 설정
Wb.워크시트.추가
설정 Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.복사
Wb2 = Application.ActiveWorkbook 설정
케이스 Wb.FileFormat 선택
사례 xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXML워크북
케이스 xlOpenXMLWorkbookMacroEnabled:
Wb2.HasVBProject이면
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
다른
xFile = ".xlsx"
xFormat = xlOpenXML워크북
END IF
사례 Excel8:
xFile = ".xls"
x형식 = Excel8
케이스 xlExcel12:
xFile = ".xlsb"
x형식 = xlExcel12
선택 종료
파일 경로 = Environ$("temp") & "\"
파일 이름 = Wb.Name 및 형식(지금, "dd-mmm-yy h-mm-ss")
OutlookApp = CreateObject("Outlook.Application") 설정
OutlookMail 설정 = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
OutlookMail 사용
.To = "gtest@email.com"
.CC = ""
.BCC = ""
.Subject = "테스트"
.Body = "안녕하세요."
.Attachments.Wb2.FullName 추가
.보내다
끝
Wb2.닫기
FilePath & FileName & xFile 죽이기
OutlookMail 설정 = 없음
OutlookApp 설정 = 없음
삭제
Application.DisplayAlerts = 참
Application.ScreenUpdating = True
최종 하위