|
本帖最后由 rainpu 于 2017-11-23 13:25 编辑
http://club.excelhome.net/thread-1182483-1-1.html
上述帖子给出了excel VBA批量打印Word文档的代码,请问其中printout方法下如何指定打印机,我试了ActivePrinter:= 是无效的,似乎这个printout方法和常规的Sheets.PrintOut的参数好像不一样?
请各路高手指点,另外我还想指定单色打印,不知道该怎么解决。
Sub 批量打印WORD文档()
Dim fileToOpen, GetOpenFilename, App, iFile
fileToOpen = Application.GetOpenFilename(filefilter:="Word文档(*.do*),*.do*", FilterIndex:=4, Title:="请选择要处理的文档(可多选)", MultiSelect:=True)
If Not IsArray(fileToOpen) Then
MsgBox "你没有选择文件", vbOKOnly, "提示": Exit Sub
Else
Set App = CreateObject("Word.Application")
For Each iFile In fileToOpen
Set WrdDoc = App.Documents.Open(iFile)
App.Documents(WrdDoc).PrintOut '用ActivePrinter:=无效,很奇怪
App.Documents(WrdDoc).Close False
T = T + 1
Next
End If
MsgBox "操作完成!!" & vbCrLf & "打印了 " & T & " 个文件。", vbOKOnly, "提示"
End Sub
|
|