Ողջույն, ես օգտագործում եմ ձեր կոդը Excel-ի տիրույթը որպես էլփոստի հավելված ուղարկելու համար, բայց եթե չեղարկեմ տիրույթը, ստանում եմ գործարկման ժամանակի սխալ: Կա՞ կոդ, որը կարող եմ ավելացնել կամ msgbox, խնդրում եմ, որ դա թույլ չտա: Շնորհակալություն կոդը ստորև:
SubSend Range()
Խոնավեցրեք xFile-ը որպես տող
Dim xFormat As Long
Dim Wb որպես աշխատանքային գրքույկ
Dim Wb2 որպես աշխատանքային գրքույկ
Dim Ws As Worksheet
Dim FilePath-ը որպես տող
Մթնեցրեք ֆայլի անունը որպես տող
Dim OutlookApp-ը որպես օբյեկտ
Մթնեցրեք OutlookMail-ը որպես օբյեկտ
Dim WorkRng որպես տիրույթ
xTitleId = «Օրինակ»
Set WorkRng = Application.Selection
Սահմանել WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:=8)
Դիմում. ScreenUpdating = Սուտ է
Application.DisplayAlerts = Սխալ
Սահմանել Wb = Application.ActiveWorkbook
Wb.Աշխատանքային թերթիկներ.Ավելացնել
Սահմանել Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Սահմանել Wb2 = Application.ActiveWorkbook
Ընտրեք Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
Եթե Wb2.HasVBProject Ապա
xFile = «.xlsm»
xFormat = xlOpenXMLWorkbookMacroEnabled
Ուրիշ
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Վերջ: Եթե
Case Excel8:
xFile = «.xls»
xFormat = Excel8
Գործ xlExcel12:
xFile = «.xlsb»
xFormat = xlExcel12
Վերջ ընտրեք
FilePath = Environ$("temp") & "\"
Ֆայլի անունը = Wb.Անուն և ձևաչափ (այժմ՝ «dd-mmmm-yy h-mm-ss»)
Սահմանել OutlookApp = CreateObject («Outlook.Application»)
Սահմանել OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
OutlookMail-ի հետ
Դեպի = ""
.CC = ""
.BCC = ""
.Subject = «Թեստեր»
.Body = «Ողջույն»:
.Կցորդներ.Ավելացնել Wb2.FullName
.Ուղարկել
Վերջ
Wb2.Փակել
Սպանեք FilePath-ը և FileName-ը և xFile-ը
Սահմանեք OutlookMail = Ոչինչ
Սահմանեք OutlookApp = Ոչինչ
Ws.Delete
Application.DisplayAlerts = Ճիշտ է
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub