• 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.

Opgelost Mail versturen met pdf

Dit topic is als opgelost gemarkeerd
Ik heb het voor elkaar gekregen met veel knip en plak werk. Wat ik online gevonden heb, en ja dan stuurd hij het tabblad. En verwijderd hij het bestand weer. Dus dat is niet het probleem maar dat kan dan niet met die range, zoals bij het pdf. Wil liever een stukje waar we de tekst aan kunnen passen.
 
Tuurlijk.
Kopieer de betreffende Range, maak het tabblad leeg en plak dan het gekopieerde.
 
Ik ga morgen met frisse moed weer proberen. Nu maak ik er een zooitje van.
 
Laat anders eens zien wat je nu hebt.
 
Pff ik denk dat ik het nu werkend heb.
Als er tekst aangepast moet worden doen ze dat maar in de mail :p

Nog een klein ding weet niet of het kan, is het mogelijk aan te geven dat bijv alleen alleen kolom A t/m E naar het nieuwe bestand gaan?
Code:
Sub SendWorkSheet()
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "xxxxxxxx"
.CC = ""
.BCC = ""
.Subject = "onderhoud fleet"
.Body = "Goedemorgen team." & vbNewLine & _
"Hierbij de broken trailers van vandaag." & vbNewLine & _
"Fijne dag gewenst."
.Attachments.Add Wb2.FullName
.Display
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt door een moderator:
Ik bedoelde een voorbeeld documentje.
En verwijder even dat email adres uit je geplaatste code.
 
Zo maar een ander ideetje, dat best wel eens een losse flodder zou kunnen zijn😂, maar dan misschien enkel als de geadresseerde van de mail effectief die lijst als Excelbestand nodig heeft.
In het andere geval, zeker omwille van het woordje 'vandaag' in "Hierbij de broken trailers van vandaag" wat zou kunnen betekenen dat die lijst niet uiterst lang is: waarom niet meteen in de 'Body" van de mail?
 
Ik bedoelde een voorbeeld documentje.
En verwijder even dat email adres uit je geplaatste code.
Ik kan het helaas niet aanpassen heb het gerapporteerd. is gelukkig niet mijn hoofd emailadres


Zo maar een ander ideetje, dat best wel eens een losse flodder zou kunnen zijn😂, maar dan misschien enkel als de geadresseerde van de mail effectief die lijst als Excelbestand nodig heeft.
In het andere geval, zeker omwille van het woordje 'vandaag' in "Hierbij de broken trailers van vandaag" wat zou kunnen betekenen dat die lijst niet uiterst lang is: waarom niet meteen in de 'Body" van de mail?
Ja de geadresseerde heeft de hele lijst nodig,

En ik wil dus eigenlijk dat dat alleen het tabel word verstuurd en bij niet de makro knop of uitleg tekst buiten het tabel.
 

Bijlagen

Zo kun je een kopie van de tabel maken:
Code:
Sub Kopie()
    Sheets.Add After:=ActiveSheet
    Range("A1").Formula2R1C1 = "=Tabel510"
End Sub
en dan kun je het nieuwe werkblad versturen en daarna weer verwijderen.

Even ingevoegd in jouw code:
Code:
    Set Wb = Application.ActiveWorkbook
    Sheets.Add After:=ActiveSheet
    Range("A1").Formula2R1C1 = "=Tabel510"
    ActiveSheet.Copy
    Set Wb2 = Application.ActiveWorkbook
 
Laatst bewerkt:
Of zo.
Klik op je mail knop:
 

Bijlagen

Laatst bewerkt:
@AHulpje helaas pakt hij dan niet de opmaak van de kolommen mee.

@edmoor ze hebben echt het excel bestand nodig, ivm met filters.

Voor nu krijgen ze de iconen van de macro's er maar bij op, en het tekstvak zet ik wel ergens anders.
 
Niet zo snel opgeven:
Code:
Set Wb = Application.ActiveWorkbook
Sheets.Add After:=ActiveSheet
Worksheets("Fleet").ListObjects("Tabel510").Range.Copy Destination:=ThisWorkbook.Worksheets(ActiveSheet.Name).Range("A1")
Cells.EntireColumn.AutoFit
ActiveSheet.Copy
 
Of zo.
Klik op je mail knop:
 

Bijlagen

Ik had ook net een mogelijkheid klaar, dus voor wat het nu nog waard is: ik had letterlijk niets aan de code gewijzigd maar enkel dit toegevoegd onder "ActiveSheet.Copy":
Code:
For Each sh In ActiveSheet.Shapes
  sh.Delete
Next sh
 
Nog een optie, Wel even die spatie weghalen in de bladnaam Feet
Code:
Sub VerzendenMail()
    Dim ws As Worksheet
    Dim wbTemp As Workbook
    Dim FilePath As String
    Dim OutApp As Object
    Dim OutMail As Object
   
    Application.DisplayAlerts = False
    Sheets("Fleet").Shapes.Range(Array("Graphic 1", "Graphic 3", "TextBox 2")).Visible = False
   
    Set ws = ThisWorkbook.Sheets("Fleet")
   
   
    FilePath = Environ("Temp") & "\" & ws.Name & ".xlsx"
   
 
    ws.Copy
    Set wbTemp = ActiveWorkbook
    wbTemp.SaveAs FilePath, FileFormat:=xlOpenXMLWorkbook ' .xlsx-formaat
   
   
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
   
    With OutMail
        .To = "ontvanger@email.com"
        .CC = ""
        .BCC = ""
        .Subject = "Fleet"
        .Body = "Goedemorgen team." & vbNewLine & _
        "Hierbij de broken trailers van vandaag." & vbNewLine & _
        "Fijne dag gewenst."
       
        .Attachments.Add FilePath
        .Display
    End With
   
   
    wbTemp.Close SaveChanges:=False
    Kill FilePath
   
   
    Set OutMail = Nothing
    Set OutApp = Nothing
    Set wbTemp = Nothing
   
    Application.DisplayAlerts = True
    Sheets("Fleet").Shapes.Range(Array("Graphic 1", "Graphic 3", "TextBox 2")).Visible = True
End Sub
 
Laatst bewerkt:
Die spatie had ik ook gezien en verwijderd :)
 
En ik ook:
Code:
Worksheets("Fleet").ListObjects("Tabel510").Range.Copy
maar had verzuimd dat te melden.:oops:
 
Application.DisplayAlerts = False
Sheets("Fleet").Shapes.Range(Array("Graphic 1", "Graphic 3", "TextBox 2")).Visible = False

Maar zal wel aan mij liggen hoor, ben nu weer met alle makro's tegelijk bezig.

Oh nu ik de laatste opmerking zie, hoeft het niet perse aan mij te liggen.
ik ga weer overnieuw beginnen
 
Met de info en voorbeelden die je nu hebt gekregen zou het geen enkel probleem meer moeten zijn.
Concentreer je op 1 voorbeeld tegelijk en gebruik wat je zelf prettig vind.
 
Terug
Bovenaan Onderaan