Привіт, я використовую ваш код для надсилання діапазону в Excel електронною поштою. Якщо я скасую діапазон, я отримую помилку під час виконання. Чи можна додати якийсь код або msgbox, щоб запобігти цьому, а також автоматично підігнати стовпці у вкладенні. Частина коду наведена нижче
Дякую
/media/kunena/emoticons/smile.png
Dim xFile як рядок
Dim xFormat As Long
Dim Wb як робочий зошит
Dim Wb2 як робочий зошит
Dim Ws як робочий лист
Помутніти шлях до файлу як рядок
Зменшити ім'я файлу як рядок
Приглушити OutlookApp як об’єкт
Потьмарити OutlookMail як об’єкт
Dim WorkRng як діапазон
xTitleId = "Приклад"
S
et WorkRng = Застосування.Вибір
Встановіть WorkRng = Application.InputBox("Діапазон", xTitleId, WorkRng.Address, Тип:=8)
Application.ScreenUpdating = Невірний
Application.DisplayAlerts = False
Установіть Wb = Application.ActiveWorkbook
Вб.Робочі аркуші.Доп
Встановіть Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Установіть Wb2 = Application.ActiveWorkbook
Виберіть Case Wb.FileFormat
Випадок xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Випадок xlOpenXMLWorkbookMacroEnabled:
Якщо Wb2.HasVBProject Тоді
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Ще
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Випадок Excel8:
xFile = ".xls"
xFormat = Excel8
Випадок xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select