By Гвентейлор в понедельник 29 март 2021
Опубликовано в Excel
Ответы 0
Лайк 0
Просмотры 2.8K
Голосов 0
Привет, я использую ваш код для отправки диапазона в Excel по электронной почте. Если я отменю диапазон, я получу ошибку времени выполнения. Можно ли добавить код или msgbox, чтобы предотвратить это, а также автоматически подобрать столбцы во вложении. Часть кода ниже
Спасибо/media/kunena/emoticons/smile.png

Развернуть xFile как строку
Dim xFormat как длинный
Dim Wb как рабочая книга
Dim Wb2 как рабочая тетрадь
Dim Ws как рабочий лист
Dim FilePath как строка
Dim FileName As String
Dim OutlookApp как объект
Dim OutlookMail как объект
Тусклый рабочий диапазон как диапазон
xTitleId = "Пример"
Set WorkRng = Приложение.Выбор
Установите WorkRng = Application.InputBox ("Диапазон", xTitleId, WorkRng.Address, Type: = 8)

Приложение.ScreenUpdating = False
Приложение.DisplayAlerts = False
Установите Wb = Application.ActiveWorkbook
Wb.Worksheets.Добавить
Установите Ws = Application.ActiveSheet.
WorkRng.Copy Ws.Cells (1, 1)
Ws.Копировать
Установите Wb2 = Application.ActiveWorkbook
Выберите регистр Wb.FileFormat.
Случай xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Случай xlOpenXMLWorkbookMacroEnabled:
    Если Wb2.HasVBProject, то
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Еще
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Случай Excel8:
    xFile = ".xls"
    хФормат = Excel8
Случай xlExcel12:
    xFile = ".xlsb"
    хФормат = кслExcel12
End Select
Посмотреть сообщение полностью