简体   繁体   中英

Send txt file to printer with Excel VBA

I have a sub that creates a .txt file and I want to print it in the default printer. How can I achieve this in VBA?

I think I need to call the ShellExecute API Function, but I did not find the correct sintax for that.

I would appreciate any help!

I cannot comment yet, so most will ask you to show the code that you tried and then you get help here. I did a quick google search and found many examples. Search this and I found some code snippets

excel vba print file

I found a code that do the trick:

Option Explicit 

Declare Function apiShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ 
ByVal hwnd As Long, _ 
ByVal lpOperation As String, _ 
ByVal lpFile As String, _ 
ByVal lpParameters As String, _ 
ByVal lpDirectory As String, _ 
ByVal nShowCmd As Long) _ 
As Long 

Public Sub PrintFile(ByVal strPathAndFilename As String) 

    Call apiShellExecute(Application.hwnd, "print", strPathAndFilename, vbNullString, vbNullString, 0) 

End Sub 

Sub Test() 

    PrintFile ("C:\Test.pdf") 

End Sub 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM