[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs批量打印word文档

用vbs编写一个批量打印文件夹内所有word文档,用到printout函数,怎么设置要打印的页码范围?比如:
AppObj.PrintOut Pages=input_pages, Copies=input_copies
pages参数好像没什么作用!
希望大神们赐教

回复 2# yu2n


    非常感谢你的答复,但是我用vbs批量打印word档的部分页,代码如下:
  1. input_pages = InputBox("要打印的页码和页码范围。例如:2, 6-10。表示打印第 2 页以及第 6 至第 10 页","word批量打印@徐飞专用版","整个文档")
  2. input_copies = InputBox("每个文档要打印的份数:","word批量打印@徐飞专用版","1")
  3. APP = "Word"
  4. Print_Dir App, SelectFolder
  5. Sub Print_Dir(APP,FolderPath)
  6. '本过程用于遍历目录下的文件,并打印
  7.   Set fso = CreateObject("Scripting.FileSystemObject")
  8.   Set AppObj = CreateObject(APP & ".Application")
  9.   xxx1 = "doc" : xxx2 = "docx"
  10.   AppObj.Visible =  0 :coun = 0
  11.   If fso.FolderExists(FolderPath) Then
  12.     Set Folder = fso.GetFolder(FolderPath)
  13.     Set Files = Folder.Files
  14.     fileNums = Files.Count
  15.     time1 = Time
  16.     For Each File In Folder.Files
  17.       
  18.       If right(File.name,3)= xxx1 Or right(File.name,4)= xxx2   then
  19.         AppObj.Documents.Open(FolderPath & "\"& File.Name)
  20. AppObj.Windows(1).Activate
  21.           If input_pages = "整个文档" then
  22.     AppObj.PrintOut ,,,,,,,input_copies
  23.     AppObj.Documents(1).Close False
  24.     coun = coun +1
  25.           Else
  26.             AppObj.PrintOut ,,,,,,,input_copies,input_pages
  27.     AppObj.Documents.Close False
  28.     coun = coun +1
  29.   End if
  30.       End if
  31.   Next
  32.   time2 = Time
  33.   MsgBox "共有文件" & fileNums & "个,打印文件" & coun & "个" & vbCrLf & "用时: " & DateDiff("s", time1, time2) & "秒"
  34.   End if
  35.   AppObj.Quit: Set AppObj = Nothing :Set fso = Nothing
  36. End Sub
  37. Function SelectFolder()
  38.   Const WINDOW_HANDLE = 0
  39.   Const OPTIONS = &H10
  40.   Set objShell = CreateObject("Shell.Application")
  41.   Set objFolder = objShell.BrowseForFolder _
  42.       (WINDOW_HANDLE, "请选择你要打印的文件夹:", OPTIONS , "0")
  43.   If objFolder Is Nothing Then
  44.     Wscript.Quit
  45.   End if
  46.   Set objFolderItem = objFolder.Self
  47.     SelectFolder = objFolderItem.Path
  48.   Set objShell = nothing
  49. End Function
复制代码
运行后,输入打印要打印的页码,比如5-10,但打印的仍是整个文档。希望您为赐教,不胜感谢。

TOP

返回列表