Ahoj, používám váš kód k odeslání rozsahu v excelu e-mailem. Pokud zruším rozsah, zobrazí se chyba běhu. Je možné přidat nějaký kód nebo msgbox, aby se tomu zabránilo a také automatické přizpůsobení sloupců v příloze. Část kódu je níže
Díky/media/kunena/emoticons/smile.png
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
Díky/media/kunena/emoticons/smile.png
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