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

wat aan code aanpassen voor het bestand op te slaan in pdf.

Status
Niet open voor verdere reacties.

davylenders123

Gebruiker
Lid geworden
20 jun 2010
Berichten
902
Ik heb een code en deze slaat het bestand op in een bepaald map als een excel file.
Nu zou ik graag hebben dat hij het werkblad opslaat als pdf in de zelfde map , en dat hij die pdf dan ophaalt voor te mailen.

Wat moet ik juist aan de code veranderen voor dat klaar te krijgen.

Code:
If vbNo = MsgBox("ben je wel zeker dat je die mail wil verzenden", vbYesNo) Then Exit Sub
ActiveWorkbook.SaveAs Filename:=("T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" & "\uren zaterdag ploeg " & Format(DateValue([blad1!D1]), "dd-mm-yyyy") & ".xls")
stpath = "T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" 'locactie waar bijlage staat
stsubject = "Uren zaterdag ploeg en welke wagens er deze week gepoetst zijn"
vamsg = "sus & klus ." & vbCrLf & _
"Bij deze stuur ik jullie de uren van de kuisploeg als ook welke wagens we vandaag hebben gepoetst.," & vbCrLf & _
      "Gunther"

'mailbody voorzien van gegevens
stfilename = "uren zaterdag ploeg .xls" 'Bestandsnaam
stattachment = ("T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" & "\uren zaterdag ploeg " & Format(DateValue([blad1!D1]), "dd-mm-yyyy") & ".xls")
vaRecipients = VBA.Array("mijnmail@hotmail.com", "mijnmail2@hotmail.com") 'mailadressen("eerste ontvanger" , "tweede ontvanger", enz.)
 
neem de handelingen op met de macro-recorder.

dan weet je de code (van de PDF-printer).

Vervolgens kun je dezelfde code gebruiken als het opslaan van een .xls bestand.
 
neem de handelingen op met de macro-recorder.

dan weet je de code (van de PDF-printer).

Vervolgens kun je dezelfde code gebruiken als het opslaan van een .xls bestand.

Oeldere,

Heb met de macro recorder een pdf afgedrukt en heb deze code geplaast in mijn andere code.
Heb ook de xls aangepast in pdf.

Nu doet hij als het zelfde als eerst , hij maakt nu alleen nog een pdf aan .
Maar te laat , want de mails is al verstuurd wanneer ik het schermpje krijg van de pdf printer waar ik de pdf moet opslaan.


Er zit nu wel een pdf file in de mail maar deze kan je niet open doen omdat hij niet juist is aangemaakt.
Dit is omdat ik de xls heb aangepast naar pdf in mijn code.

Wat moet er juist veranderen aan de code ?:eek:
Zodat hij het wel juist doet.
Code:
Const EMBED_ATTACHMENT As Long = 1454
Const vaCopyTo As Variant = "" 'copy mailen naar: "adres"

Sub mail()


 Dim vaRecipients As Variant
  Dim noSession As Object
  Dim noDatabase As Object
  Dim noDocument As Object
  Dim noEmbedObject As Object
  Dim noAttachment As Object
If vbNo = MsgBox("ben je wel zeker dat je die mail wil verzenden", vbYesNo) Then Exit Sub



 Application.ActivePrinter = "Black Ice ColorPlus TS PDF op Ne05:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "Black Ice ColorPlus TS PDF op Ne05:"
        
        
        
ActiveWorkbook.SaveAs Filename:=("T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" & "\uren zaterdag ploeg " & Format(DateValue([blad1!D1]), "dd-mm-yyyy") & ".pdf")
stpath = "T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" 'locactie waar bijlage staat
stsubject = "Uren zaterdag ploeg en welke wagens er deze week gepoetst zijn"
vamsg = "Patrik & Anja ." & vbCrLf & _
"Bij deze stuur ik jullie de uren van de kuisploeg als ook welke wagens we vandaag hebben gepoetst.," & vbCrLf & _
      "Gunther"

'mailbody voorzien van gegevens
stfilename = "uren zaterdag ploeg .pdf" 'Bestandsnaam
stattachment = ("T:\Mag-Data\Mit pc\davy\uren zaterdag ploeg\reeds doorgestuurd" & "\uren zaterdag ploeg " & Format(DateValue([blad1!D1]), "dd-mm-yyyy") & ".pdf")
vaRecipients = VBA.Array("davylenders@hotmail.com", "lendersdavy@hotmail.com") 'mailadressen("eerste ontvanger" , "tweede ontvanger", enz.)

                  'Bepaal de Lotus Notes COM's Objecten.
                  Set noSession = CreateObject("Notes.NotesSession")
                  Set noDatabase = noSession.GETDATABASE("", "")
                  
                  'Als Lotus Notes niet open is open dan het mail-gedeelte ervan.
                  If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
                 
                  'Maak de e-mail en de bijlage.
                  Set noDocument = noDatabase.CreateDocument
                  Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
                  Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stattachment)
                                 
                  'Voeg de gegevens toe aan de gemaakte e-mail eigenschappen.
                  With noDocument
                    .Form = "Memo"
                    .SendTo = vaRecipients
                    .CopyTo = vaCopyTo
                    .Subject = stsubject
                    .Body = vamsg
                    .SaveMessageOnSend = True
                    .PostedDate = Now()
                   .Send 0, vaRecipients
                  End With
                 
                          
                  'Verwijder objecten uit het geheugen.
                  Set noEmbedObject = Nothing
                  Set noAttachment = Nothing
                  Set noDocument = Nothing
                  Set noDatabase = Nothing
                  Set noSession = Nothing
                  
                  MsgBox "De e - mail is correct verstuurd ", vbInformation



End Sub
 
Kan iemand mij hier mee verder helpen aub

Ben heel de dag al opzoek op het net naar een oplossing maar kan ze niet vinden.:(
 
Al eens geprobeerd om een pause in te lassen tussen het opslaan van de pdf en de uitvoering van de mailversturing ?
 
Heb het geprobeerd maar lukt niet.

Ga het anders proberen op te lossen.
Ga een knop proberen te maken die een pdf maakt en opslaat in een bepaald map.
En dat de mail knop dan die macro gaat ophalen.

Zet deze op opgelost.

Alle Bedankt voor de hulp :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan