VBA-office程序例子
Word批量转pdf
新建文本文件txt,写入如下内容并保存成后缀为(.vbs格式)文件。当然你也可以直接点击zip下载链接直接下载vbs文件。
使用时,将word文件拖动到“.vbs文件”即可,等待转换程序完成。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Set fso = CreateObject("Scripting.FileSystemObject") For i= 0 To WScript.Arguments.Count -1 docPath = WScript.Arguments(i) docPath = fso.GetAbsolutePathName(docPath) If LCase(Right(docPath, 4)) = ".doc" Or LCase(Right(docPath, 5)) = ".docx" Then Set objWord = CreateObject("Word.Application") pdfPath = fso.GetParentFolderName(docPath) & "\" & _ fso.GetBaseName(docpath) & ".pdf" objWord.Visible = False Set objDoc = objWord.documents.open(docPath) objDoc.saveas pdfPath, 17 objDoc.Close objWord.Quit End If Next
|
虚拟打印机+VBA批量打印
这个方法的原理就是,通过虚拟机将word打印成pdf格式,再用vba这个工具将这个过程批量化。
VBA的代码,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 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 App.Documents(WrdDoc).Close False T = T + 1 Next End If MsgBox "操作完成!!" & vbCrLf & "打印了 " & T & " 个文件。", vbOKOnly, "提示" End Sub
|