By gwentaylor v pondělí 29. března 2021
Publikováno v vynikat
Odpovědi 0
záliby 0
Zobrazení 2.8
Hlasy 0
Ahoj, používám váš kód k odeslání rozsahu aplikace Excel jako přílohy e-mailu, ale pokud rozsah zruším, zobrazí se chyba běhu. Existuje kód, který mohu přidat, nebo msgbox, abych tomu zabránil? Díky kód níže.

Sub SendRange()
Dim xFile As String
Dim xFormat As Long
Dim Wb jako sešit
Dim Wb2 jako sešit
Dim Ws jako pracovní list
Dim FilePath jako řetězec
Dim název_souboru jako řetězec
Ztlumit aplikaci OutlookApp jako objekt
Ztlumit OutlookMail jako objekt
Dim WorkRng As Range
xTitleId = "Příklad"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Nastavte Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Nastavit Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Nastavte Wb2 = Application.ActiveWorkbook
Vyberte Case Wb.FileFormat
Pouzdro xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    Pokud Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Jiný
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Případ Excel8:
    xFile = ".xls"
    xFormat = Excel8
Případ xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
Konec Vybrat
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Nyní, "dd-mmm-yy h-mm-ss")
Nastavit OutlookApp = CreateObject("Outlook.Application")
Nastavit OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
S OutlookMailem
    .To = "gtest@email.com"
    .CC = ""
    .BCC = ""
    .Subject = "Testy"
    .Body = "Ahoj."
    .Přílohy.Přidat Wb2.FullName
    .Poslat
Konec s
Wb2.Zavřít
Zabijte FilePath & FileName & xFile
Nastavit OutlookMail = nic
Nastavit OutlookApp = nic
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
 
Zobrazit celý příspěvek