• 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 met printen in pdf (tijdelijk andere printer selecteren)

Status
Niet open voor verdere reacties.

lexcellern

Gebruiker
Lid geworden
15 okt 2015
Berichten
130
Ik heb een macro opgenomen in excel (heb geen kennis van vba) maar het printen in pdf neemt hij niet mee/op.
Is dit toch mogelijk?

De macro kopieert een regel naar een ander tabblad en vervolgens moet weer een ander tabblad geprint worden als: Microsoft Print to PDF.
Vervolgens moet de printer weer op de standaard printer ingesteld worden en moet de macro je weer terug laten keren naar het oorspronkelijke werkblad.
Dat deel van het (tijdelijk) instellen van een andere printer, neemt hij niet op in de macro.

De huidige macro staat als volgt:

Selection.Copy
Sheets("fact_voorb").Select
Rows("1:1").Select
ActiveSheet.Paste
Sheets("fact").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("september").Select
End Sub
 
Je kan makkelijker het betreffende werkblad opslaan als PDF.
Dat kan je ook zo opnemen.
 
Als je dat niet wil, is hier de code voor je vraag.
Code:
Sub printerkeuze_op_pdf()
Dim x As String
 With Application
    x = .ActivePrinter
        .ActivePrinter = "Microsoft Print to PDF op Ne01:"
    Selection.Copy Sheets("fact_voorb").Cells(1)
          Sheets("fact").PrintOut
          .ActivePrinter = x
 End With
End Sub
 
Ik heb ervoor gekozen om de macro op te nemen met 'Exporteren - pdf document maken' en dat werkt prima! Ik heb dat gedaan via 'Exporteren - pdf document maken'.
Dank!
 
Nog wel een ander probleemje: ik wil het pdf bestand dat ik wil opslaan (exporteren) een bepaalde unieke naam geven. Deze naam staat in het document dat opgeslagen wordt als pdf.
In de macro die ik opneem kopieer ik deze naam en plak in het veld van de bestandsnaam die wordt opgeslagen.
Echter nu neemt hij iedereen dat ik de macro gebruik steeds diezelfde bestandsnaam en dat is niet de bedoeling.
Zie hieronder de macro. De benaming 'bestandsnaam'.pdf moet dus telkens de naam zijn die ik uit het werkblad kopieer.

Selection.Copy
Sheets("fact_voorb").Select
Rows("1:1").Select
ActiveSheet.Paste
Sheets("fact").Select
ActiveWindow.SmallScroll Down:=3
Range("D35").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-3
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\info\Documents\bestandsnaam.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Sheets("september").Select
End Sub
 
Dat kan je zo doen:
Code:
ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="C:\Users\info\Documents\" & Sheets("Blad1").Range("A1"), _
    IncludeDocProperties:=True, _
    OpenAfterPublish:=True
 
Laatst bewerkt:
Voor uitwisselbaarheid van documenten zou ik dit:
Code:
"C:\Users\info\Documents\"

wijzigen in:
Code:
Environ("userprofile") & "\Documents\"

Als die info een user is tenminste.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan