Montag, 29 März 2021
  0 Antworten
  2.8K Besuche
0
Bewertungen
Rückgängig machen
Hallo, ich verwende Ihren Code, um einen Excel-Bereich als E-Mail-Anhang zu senden, erhalte jedoch einen Laufzeitfehler, wenn ich den Bereich abbreche. Gibt es Code, den ich hinzufügen kann, oder eine Msgbox, um dies zu verhindern? Danke Code unten.

Sub SendRange()
Dim xFile als Zeichenfolge
Dimmen Sie xFormat so lange
Dim Wb als Arbeitsmappe
Dim Wb2 als Arbeitsbuch
Dim Ws als Arbeitsblatt
Dateipfad als Zeichenfolge dimmen
Dim Dateiname als String
Dim OutlookApp als Objekt
Dim OutlookMail als Objekt
WorkRng als Bereich dimmen
xTitleId = „Beispiel“
Sund WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

Application.ScreenUpdating = False
Application.DisplayAlerts = Falsch
Legen Sie Wb = Application.ActiveWorkbook fest
Wb.Worksheets.Add
Setzen Sie Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Kopie
Legen Sie Wb2 = Application.ActiveWorkbook fest
Wählen Sie Case Wb.FileFormat
Fall xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Fall xlOpenXMLWorkbookMacroEnabled:
    Wenn Wb2.HasVBProject dann
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    sonst
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Fall Excel8:
    xDatei = ".xls"
    xFormat = Excel8
Fall xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
Dateipfad = Environ$("temp") & "\"
FileName = Wb.Name & Format (jetzt "dd-mmm-yy h-mm-ss")
Setze OutlookApp = CreateObject("Outlook.Application")
Setzen Sie OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
Mit OutlookMail
    .An = ""
    .CC = ""
    .BCC = ""
    .Subject = "Tests"
    .Body = "Hallo . "
    .Anlagen.Wb2.FullName hinzufügen
    .Senden
Ende mit
Wb2.Schließen
Beenden Sie FilePath & FileName & xFile
Setzen Sie OutlookMail = nichts
Setzen Sie OutlookApp = nichts
Ws.Löschen
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
 
Es gibt keine Antworten für diesen Eintrag gemacht.