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

Hulp gezocht met aanpassen factuur versturen vanuit Excel

Status
Niet open voor verdere reacties.

Siep26

Gebruiker
Lid geworden
15 sep 2017
Berichten
71
Goedemiddag,

Onderstaande code heb ik aangepast naar mijn wensen, maar is nog niet volledig.

Code:
Sub FactuurVerzenden()
    Dim PDFnaam As String
    Dim OutApp As Object
    Dim OutMail As Object
    
    PDFnaam = "K:\Facturen\" & _
        Range("K5") & " " & _
        Range("K3") & ".pdf"
    
    ActiveWorkbook.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=PDFnaam, _
        OpenAfterPublish:=True 'Of False om het document niet te openen
    
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
        Collate:=True, _
        IgnorePrintAreas:=False
        
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
        .To = Range("K9")
        .CC = ""
        .BCC = ""
        .Subject = Range("K10")
        .Body = "Bijgaand factuur"
        .Attachments.Add PDFnaam
        .Display   'Of gebruik .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

Met deze macro worden alle tabbladen gemaild en geprint, terwijl ik alleen wil dat het tabblad 'Factuur' wordt geprint. Welke aanpassingen dien ik te maken?
 
wijzig

Code:
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
        Collate:=True, _
        IgnorePrintAreas:=False

eens in
Code:
        Sheets("Factuur").PrintOut Copies:=1, _
        Collate:=True, _
        IgnorePrintAreas:=False
 
Verander
Code:
ActiveWindow.SelectedSheets.PrintOut
naar
Code:
Sheets("Factuur").PrintOut


Edit: Haije was vlugger.:)
 
Beide bedankt!

Hij slaat en mail wel nog alle werkbladen in het Excel bestand. Hoe verander ik dat?

Hij print het juiste.
 
Vervang
Code:
ActiveWorkbook.ExportAsFixedFormat
door
Code:
 ThisWorkbook.Sheets("Factuur").ExportAsFixedFormat
Je had dat niet gevraagt in uw eerste postje.;)
 
Verander dit eens :

Code:
ActiveWorkbook.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=PDFnaam, _
        OpenAfterPublish:=True 'Of False om het document niet te openen

in deze code :

Code:
Sheets("Factuur").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=PDFnaam, _
        OpenAfterPublish:=True 'Of False om het document niet te openen

Edit Nu ben je wel de eerste gast0660 ;)
 
Laatst bewerkt:
Lezen is een kunst.
Waaruit maak jij dan op dat de TS ook alleen het blad 'Factuur' als .pdf opgeslagen wil hebben?

Waarschijnlijk gaat het zo ook wel goed.
Code:
Sub VenA()
  c00 = "K:\Facturen\" & Range("K5") & " " & Range("K3") & ".pdf"
  With Sheets("Factuur")
    .ExportAsFixedFormat 0, c00
    .PrintPreview 'printout voor een echt printje, wat onnodig is omdat je er al een .pdf van gemaakt hebt.
  End With
  
  With CreateObject("Outlook.Application").CreateItem(0)
    .To = Range("K9")
    .Subject = Range("K10")
    .Body = "Bijgaand factuur"
    .Attachments.Add c00
    .Display   'Of gebruik .Send
  End With
End Sub
 
Jij kunt gewoon lezen en waarschijnlijk ook code lezen?

De pdf printen lijkt mij wel voldoende.
 
@HSV,
Als je alleen de OP gelezen hebt, heb je gelijk. Heel, heel soms evalueert een vraag wel eens en dan moet je even verder lezen.

In #4
Hij slaat en mail wel nog alle werkbladen in het Excel bestand. Hoe verander ik dat?
Hoe dit gelezen moet worden is dan weer een hele ander vraag.:)
 
Tja, schrijven is ook een kunst natuurlijk.
Door de code te lezen kom je daar ook achter.
Maar ik merk de laatste tijd wel op dat er heel veel van dit soort cryptische vragen voorbij komen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan