Živjo, uporabljam vašo kodo za pošiljanje obsega v excelu po e-pošti. Če prekličem obseg, dobim napako med izvajanjem. Ali je mogoče dodati nekaj kode ali msgbox, da to preprečite, prosim in tudi za samodejno prilagajanje stolpcev v prilogi. Del kode je spodaj
Hvala/media/kunena/emoticons/smile.png
Zatemni xFile kot niz
Dim xFormat As Long
Dim Wb kot delovni zvezek
Dim Wb2 kot delovni zvezek
Dim Ws kot delovni list
Dim FilePath kot niz
Zatemni ime datoteke kot niz
Zatemnite OutlookApp kot objekt
Zatemnite OutlookMail kot predmet
Dim WorkRng As Range
xTitleId = "Primer"
Set WorkRng = Aplikacija.Izbor
Nastavi WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = Napačno
Application.DisplayAlerts = False
Nastavite Wb = Application.ActiveWorkbook
Wb.Delovni listi.Dodaj
Nastavite Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Nastavite Wb2 = Application.ActiveWorkbook
Izberite Case Wb.FileFormat
Primer xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Primer xlOpenXMLWorkbookMacroEnabled:
Če Wb2.HasVBProject Potem
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Konec Če
Primer Excel8:
xFile = ".xls"
xFormat = Excel8
Primer xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
Konec Izberi
Hvala/media/kunena/emoticons/smile.png
Zatemni xFile kot niz
Dim xFormat As Long
Dim Wb kot delovni zvezek
Dim Wb2 kot delovni zvezek
Dim Ws kot delovni list
Dim FilePath kot niz
Zatemni ime datoteke kot niz
Zatemnite OutlookApp kot objekt
Zatemnite OutlookMail kot predmet
Dim WorkRng As Range
xTitleId = "Primer"
Set WorkRng = Aplikacija.Izbor
Nastavi WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = Napačno
Application.DisplayAlerts = False
Nastavite Wb = Application.ActiveWorkbook
Wb.Delovni listi.Dodaj
Nastavite Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Nastavite Wb2 = Application.ActiveWorkbook
Izberite Case Wb.FileFormat
Primer xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Primer xlOpenXMLWorkbookMacroEnabled:
Če Wb2.HasVBProject Potem
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Konec Če
Primer Excel8:
xFile = ".xls"
xFormat = Excel8
Primer xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
Konec Izberi