By gwentaylor luni, 29 martie 2021
postat în Excel
Răspunsuri 0
Preferințe 0
Vizualizări 2.9 K
Voturi 0
Bună, folosesc codul dvs. pentru a trimite un interval în Excel prin e-mail. Dacă anulez intervalul, primesc o eroare de rulare. Este posibil să adăugați un cod sau un msgbox pentru a preveni acest lucru, vă rog și, de asemenea, pentru a potrivi automat coloanele pe atașament. O parte din cod este mai jos
mulțumesc/media/kunena/emoticons/smile.png

Dim xFile ca șir
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 ca registru de lucru
Dim Ws As Worksheet
Dim FilePath ca șir
Dim FileName ca șir
Dim OutlookApp ca obiect
Dim OutlookMail ca obiect
Dim WorkRng As Range
xTitleId = „Exemplu”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)

Application.ScreenUpdating = Fals
Application.DisplayAlerts = Fals
Set Wb = Application.ActiveWorkbook
Wb.Fise de lucru.Adăugați
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Setați Wb2 = Application.ActiveWorkbook
Selectați Case Wb.FileFormat
Caz xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Caz xlOpenXMLWorkbookMacroEnabled:
    Dacă Wb2.HasVBProject Atunci
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Altfel
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    Final, dacă
Cazul Excel8:
    xFile = ".xls"
    xFormat = Excel8
Cazul xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
Selectare sfârșit
Vizualizați mesajul complet