VBScript自动化打印:智能过滤Word文档
代码鉴赏及分析:
filterstr=inputbox("请输入不要打印的文件,用逗号分隔。如2,1表示文件名包含2或者1的不打印,输入*表示打印所有:")
filtered=false
printme=true
if filterstr<>"*" and filterstr<>"" then filtered=true filterlist=split(filterstr,",")
end if
if filterstr<>"" then Set WshShell = WScript.CreateObject("WScript.Shell") printsub(WshShell.CurrentDirectory) msgbox " 完工啦!"
end if
Sub printsub(byval curdc) Set FSO =CreateObject("Scripting.FileSystemObject") Set WD = CreateObject("Word.Application") wd.visible=false Set FD = FSO.GetFolder(curdc) Set FN = FD.Files For Each F1 In FN if filtered then printme=true for each fl in filterlist if Instr(LCase(Left(F1.Name,len(F1.Name)-3)),fl)<>0 then printme=false end if next end if If UCase(Right(F1.Name, 3)) = "DOC" and printme Then set doc=WD.Documents.Open(FD.Path & "\" & F1.Name) doc.PrintOut doc.close 'WD.Documents.Close set doc=nothing End If Next wd.visible=true WD.Quit Set SubFD=FD.SubFolders For Each folder in SubFD printsub(folder.Path) Next Set SubFD=nothing set fn=nothing set fd=nothing Set WD = Nothing Set FSO = Nothing
End Sub
运行后效果演示:
VBScript脚本分析:自动打印Word文档的过滤机制
以下是对您提供的VBScript代码的全面分析,我将基于此为您撰写一篇技术文章。文章旨在清晰解释代码的工作原理、实现细节、潜在问题及改进建议。代码主要用于根据用户输入的过滤条件,自动