Afdrukbereik en Marges

Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
126
Goedemorgen,

Ik gebruik de volgende code om mijn facturen te mailen en op te slaan en af te drukken:

Code:
Sub Efactuur()

Application.DisplayAlerts = False
Sheets(2).Delete
Application.DisplayAlerts = True

Sheets(1).Select

'zet naam tabblad in cel G1 en vult bedragen in
Dim naam
naam = Worksheets(2).Name ' (2) is tweede tabblad van een sheet
ActiveSheet.Range("G8") = Mid(naam, 1, 6)
Range("J53") = Sheets(2).Cells(Rows.Count, 7).End(xlUp).Value
Range("J56") = Sheets(2).Cells(Rows.Count, 9).End(xlUp).Value
Sheets(Array(1, 2)).Select
    Sheets(1).Activate
    
    Worksheets(2).PageSetup.Orientation = xlPortrait
    Worksheets(2).PageSetup.Zoom = False
    Worksheets(2).PageSetup.FitToPagesWide = 1
    Worksheets(2).PageSetup.FitToPagesTall = 99999

With Sheets(1)
  .Range("B17") = Format(CreateObject("scripting.filesystemobject") _
        .getfolder("C:\Users\D-post\OneDrive\Documenten\D-post\facturen\").Files.Count, "202000000") + 1
.Range("D17").Value = Date
pad = "C:\Users\D-post\OneDrive\Documenten\D-post\facturen\"
.ExportAsFixedFormat xlTypePDF, pad & .Range("B17").Value & ".pdf"
Windows(1).SelectedSheets.Copy
ActiveWorkbook.Close 0

   
End With

       ActiveSheet.PrintOut
       

Sheets(Array(1, 2)).Select

Dim Bestand As String
    Dim OutApp As Object
    Dim OutMail As Object
    Dim signature As String
    
    Bestand = Environ("TEMP") & "\" & ActiveSheet.Name & " " & Range("B17").Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=Bestand
    
    mailto = ActiveSheet.Range("G12")
    subject = "Factuur van de maand " & Format(Date - 28, "mmmm")
    Body = "Geachte relatie, <br><br>" & _
           "Hierbij doen wij u onze factuur toekomen van de door ons verleende diensten van de afgelopen maand. <br>" & _
           "Met het vriendelijke verzoek om voor betaling zorg te dragen." _


    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .display
        signature = .HTMLBody
        .To = mailto
        .CC = ""
        .BCC = ""
        .HTMLBody = "<Body style='color:black(33,38,227);font-family:calibri;font-size:15'></font></p>" & Body & "<br>" & .HTMLBody
        .subject = subject
        .Attachments.Add Bestand
        .Send
    End With
    Kill Bestand
    
Application.Run "PERSONAL.XLSB!Efactuur.Efactuur"
  
End Sub

Nu is het de bedoeling dat hij het geen er in kolom A8 t/m J57 staat print maar dat moet dan wel op die plaats blijven staan ik dacht het met dit:

HTML:
activesheet.pagesetup.printarea = "$A$8: $J$57"

te kunnen doen en dan sellecteerd hij dit bereik ook maar hij slaat ook alleen maar dat stuk op terwijl hij wel het hele werkblad op moet slaan. en als hij het afdrukt staat het helemaal bovenaan het vel papier en dat zou ik ook graag zien dat hij dan op zijn plaats ( A8 t/m J57 ) bleef staan.

Is er iemand die mij daarmee kan helpen?
 
Misschien als je je document plaatst, want er staat een hoop onzin in je code.
 
Beste HSV,

Hierbij het document, voor wat betreft de code doet hij precies wat ik wil. Ik heb een heleboel dingen bij elkaar gezocht dus de code is misschien onlogisch maar werkt wel goed. Zelf ben ik een leek met VBA maar door veel te lezen en te proberen en Helpmij.nl doet hij wel wat ik wil. Behalve dat printen nu nog dan ;)

Als het mogelijk zou ik dus graag A8 t/m J57 geprint willen hebben alleen dan moet hij op een A4 wel op dezelfde plaats blijven staan.( dit ivm briefpapier ) en hij moet wel heel de factuur inclusief bijlage opslaan.

Is daar een oplossing voor?
 

Bijlagen

  • E-Factuur helpmij.xlsx
    37,6 KB · Weergaven: 24
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan