使用Excel VBA将txt文件发送到打印机

时间:2015-05-19 17:40:40

标签: vba excel-vba printing text-files excel

我有一个创建.txt文件的子文件,我想在默认打印机中打印它。我怎样才能在VBA中实现这一目标?

我想我需要调用ShellExecute API函数,但是我找不到正确的sintax。

我将不胜感激任何帮助!

2 个答案:

答案 0 :(得分:0)

我还不能发表评论,所以大多数人会要求您展示您尝试过的代码,然后在此处获得帮助。我做了一个快速谷歌搜索,发现了很多例子。搜索这个,我找到了一些代码片段

excel vba print file

答案 1 :(得分:0)

我找到了一个可以解决问题的代码:

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