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

Printer selecteren, niet gebruiken en de oude weer selecteren

Status
Niet open voor verdere reacties.

ramons1986

Gebruiker
Lid geworden
19 jul 2013
Berichten
23
Goedenavond,

Ik loop een beetje vast met pagina marges door printers. Ik wil een afbeelding inde bovenrand als PDF hebben alleen door printmarges gaat dit niet. Wat ik wil is in de macro de regel zetten dat voordat er een PDF bestand van word gemaakt hij eerst PDF creator als pinter selecteert, dit omdat hier geen beperking is met pagina marges, dan heb ik de code dat er een PDF bestand van word gemaakt, en na die code wil dat deze weer terug gaat naar de standaard printer. Ik heb al het e.e.a. opgezocht en kon het wel vinden maar krijg het bij lange na niet werkend, kom niet eens in de buurt. Volgens mij doe ik iets simpels fout...

De code die ik gebruik om het bestand te mailen;



Dim OlApp As Object
Dim NewMail As Object
Dim TempFilePath As String
Dim TempFileName As String
Dim FileFullPath As String

With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'
TempFilePath = Environ$("temp") & ""
'
TempFileName = Range("N1").Value & ".pdf"
'
FileFullPath = TempFilePath & TempFileName
'
With ActiveSheet
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=FileFullPath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
'
Set OlApp = CreateObject("Outlook.Application")
Set NewMail = OlApp.CreateItem(0)
'
On Error Resume Next
With NewMail
.To = Range("P19").Value
'
.Subject = Range("M1").Value & ".pdf"
.Body = Range("O1").Value
'
.Attachments.Add FileFullPath
.Display
End With
On Error GoTo 0
'
Set NewMail = Nothing
Set OlApp = Nothing
'
With Application
.ScreenUpdating = True
.EnableEvents = True
End With




B.v.d. voor een reactie.


Mvg ramon.
 
Als ik het goed begrijp wil je tijdelijk de printer veranderen om er daarna weer op terug te komen. Is dat zo?

Thanks to Andy Pope
Use the ActivePrinter property to get the printers name before you output the pdf file and then reset it afterwards

Code:
Dim strPName As String 
strPName = application.ActivePrinter 

'Switch Printers
Application.ActivePrinter = "CutePDF Writer on CPW2:"    '<----- Ik gebruik CutePDF

 ' Pdf print

application.ActivePrinter=strPName
 
Laatst bewerkt:
Bedankt voor het reageren, ik krijg hier alleen nog steeds een foutmelding op. Wat moet de code zijn met PDFCreator?

Als ik dit ervan maak doet doet die het niet;
Dim strPName As String
strPName = application.ActivePrinter

'Switch Printers
Application.ActivePrinter = "PDFCreator on CPW2:"


Als ik dit ervan maak ook niet;
Dim strPName As String
strPName = application.ActivePrinter

'Switch Printers
Application.ActivePrinter = "PDFCreator"
 
Stel eerst eens PDF Creator in als standaardprinter en vraag dan op hoe die heet m.b.v.

Code:
strPName = application.ActivePrinter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan