• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro selectie opslaan als tiff

Status
Niet open voor verdere reacties.

rickbakkenes

Gebruiker
Lid geworden
4 feb 2011
Berichten
58
Goedemiddag,

Ik wil graag dmv een macro een selectie uit een Excelbestand mailen als tif.

Ik heb onderstaande macro nu.

Deze zorg ervoor dat de selectie wordt gemaild naar mijn mailadres als bijalge (xls)

Dit wil ik graag ipv xls als tiff hebben.

Sub Mail_Range()

Range("R16").Select
ActiveWindow.SmallScroll Down:=-15
Range("A1:N58").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$N$58"
Range("B2:M2").Select

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 I As Long

Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:N58").SpecialCells(xlCellTypeVisible)

On Error GoTo 0

If Source Is Nothing Then
MsgBox "The source is not a range or the sheet is protected, " & _
"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 = ThisWorkbook.Sheets("FACTUUR").Range("C54").Value

If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2013
FileExtStr = ".xlsx": FileFormatNum = 51
End If

With Dest
.SaveAs TempFilePath & TempFileName & FileExtStr, _
FileFormat:=FileFormatNum
On Error Resume Next
For I = 1 To 3
.SendMail "xxx@xxx.nl", _
ThisWorkbook.Sheets("FACTUUR").Range("B3").Value
If Err.Number = 0 Then Exit For
Next I
On Error GoTo 0
.Close SaveChanges:=False
End With

'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan