You can’t configure Outlook to use a specific non-default printer to print emails. But in this article, we will show you a method to achieve it with Outlook VBA.
Your computer must have set a printer as the default one, which will be applied to all programs on this computer. In this case, if you want to print emails through a non-default printer in Outlook, you have to change the printer every time when printing. It is quite troublesome. Therefore, in the followings, we will share you a means to auto use a specific printer for emails without needs to changing printer each time.
Auto Use a Specific Printer to Print Emails
- At the very outset, start your Outlook application.
- Then, in the main Outlook window, press “Alt + F11” key buttons.
- Next, in the displaying “Microsoft Visual Basic for Applications” window, you need to firstly enable “Microsoft Word object Library”. You can click ‘Tools” > “Reference” to achieve it.
- Then, you need to access an empty module.
- Subsequently, copy and paste the following VBA code into this module.
Sub PrintEmail() Dim objItem As Object Dim objMail As Outlook.MailItem Dim objWordApp As Word.Application Dim strTempFolder As String Dim strMailDocument As String Dim objMailDocument As Word.Document Dim strPrinter As String Select Case Application.ActiveWindow.Class Case olInspector Set objItem = ActiveInspector.CurrentItem Case olExplorer Set objItem = ActiveExplorer.Selection.Item(1) End Select If TypeOf objItem Is MailItem Then Set objMail = objItem Set objWordApp = CreateObject("Word.Application") strTempFolder = CStr(Environ("USERPROFILE")) & "\AppData\Local\Temp" strMailDocument = strTempFolder & "\" & Format(Now, "yyyymmddssnn") & ".doc" objMail.SaveAs strMailDocument, olDoc Set objMailDocument = objWordApp.Documents.Open(strMailDocument) objWordApp.Visible = True objMailDocument.Activate strPrinter = objWordApp.ActivePrinter 'Change to the name of specific printer objWordApp.ActivePrinter = "Specific Printer" objWordApp.PrintOut Range:=wdPrintAllDocument, Item:=wdPrintDocumentContent objWordApp.ActivePrinter = strPrinter objMailDocument.Close False objWordApp.Quit Kill strMailDocument End If End Sub
- After that, you can close the current window.
- Then, go to “File” menu and click “Options”.
- In the “Outlook Options” window, shift to “Quick Access Toolbar” tab and add the new macro to Quick Access Toolbar as usual.
- Eventually, you can try this VBA project.
- Firstly, select or open an email which you want to print.
- Then, click on the macro button in Quick Access Toolbar.
- The email will be printed out by the specific printer at once.
- From now on, to print emails by specific printer, you can just use this macro.
Recover Outlook after Accident Corruption
So as to block your Outlook data from being lost, you have to make great efforts. For instance, you should back up your PST file on a regular basis. Of course, it is suggested to get hold of an external repair tool, like DataNumen Outlook Repair. It can fix PST errors and restore maximum Outlook data for you.
Author Introduction:
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including recover sql and outlook repair software products. For more information visit www.datanumen.com