Понеділок, 29 березня 2021
  0 відповіді
  2.8 тис. Відвідувань
0
Голосів
розстібати
Привіт, я використовую ваш код для надсилання діапазону в Excel електронною поштою. Якщо я скасую діапазон, я отримую помилку під час виконання. Чи можна додати якийсь код або msgbox, щоб запобігти цьому, а також автоматично підігнати стовпці у вкладенні. Частина коду наведена нижче
Дякую/media/kunena/emoticons/smile.png

Dim xFile як рядок
Dim xFormat As Long
Dim Wb як робочий зошит
Dim Wb2 як робочий зошит
Dim Ws як робочий лист
Помутніти шлях до файлу як рядок
Зменшити ім'я файлу як рядок
Приглушити OutlookApp як об’єкт
Потьмарити OutlookMail як об’єкт
Dim WorkRng як діапазон
xTitleId = "Приклад"
Set 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
На цю посаду ще немає відповідей.