I have the following
The sheet is originally in landscape format, but when it copies it to a temp sheet prior to emailing it as an attachment, the temp is in portrait.
Is there anyway that I can change the code to maintain it as landscape???
Many Thanks in advance
Code:
Sub Mail_Selection()
'Working in 2000-2010
Dim Source As Range
Dim Dest As Workbook
Dim wb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim OutApp As Object
Dim OutMail As Object
Dim Response As VbMsgBoxResult
Response = MsgBox("This will email Landmarc Bookings your Portaloo Request!" & vbNewLine & _
"Do you want to continue??", vbExclamation + vbYesNo, "Confirm")
If Response <> vbYes Then Exit Sub
Set Source = Nothing
On Error Resume Next
Set Source = Sheets("Portaloo").Range("A1:CB65").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If ActiveWindow.SelectedSheets.Count > 1 Or _
Selection.Cells.Count = 1 Or _
Selection.Areas.Count > 1 Then
MsgBox "An Error occurred :" & vbNewLine & vbNewLine & _
"You have more than one sheet selected." & vbNewLine & _
"You only selected one cell." & vbNewLine & _
"You selected more than one area." & vbNewLine & vbNewLine & _
"Please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set wb = ActiveWorkbook
Set Dest = Workbooks.Add(xlWBATWorksheet)
Source.Copy
With Dest.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Cells(1).Select
Application.CutCopyMode = False
End With
TempFilePath = Environ$("temp") & "\"
TempFileName = Range("AR4").Value & " Portaloo Indent as of " _
& Format(Now, "dd-mmm-yy")
If Val(Application.Version) < 12 Then
'You use Excel 2000-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2010
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With Dest
.SaveAs TempFilePath & TempFileName & FileExtStr, _
FileFormat:=FileFormatNum
On Error Resume Next
With OutMail
.To = email@address
.CC = ""
.BCC = ""
.Subject = "Release-Authorised: Portaloo " & Range("AR4").Value
.Body = "Please find attached the portaloo indent for " & Range("AR4").Value _
& ", this is a test for an automated system, please email back to confirm that it has reached the correct department. " _
& "Many Thanks "
.Attachments.Add Dest.FullName
'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'or use .Display
End With
On Error GoTo 0
.Close SaveChanges:=False
End With
Kill TempFilePath & TempFileName & FileExtStr
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
The sheet is originally in landscape format, but when it copies it to a temp sheet prior to emailing it as an attachment, the temp is in portrait.
Is there anyway that I can change the code to maintain it as landscape???
Many Thanks in advance