前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ExcelVBA一键批量打印文件夹中的所有word文档

ExcelVBA一键批量打印文件夹中的所有word文档

作者头像
哆哆Excel
发布2022-10-25 11:12:16
3.2K0
发布2022-10-25 11:12:16
举报
文章被收录于专栏:哆哆Excel

ExcelVBA一键批量打印文件夹中的所有word文档

==================

【问题】总公司有收到有几百个word文件,每一个都要打印5份,几W个呢!

【常规作法】打开一个~打印~关闭~提示是否保存~否,再来一个……………………,天啊,要重复做到什么时候。

=======================

【目标】一键完成,

【用法】把下面的代码放在一个Excel文件中,一健~选定所有文件~确定

【代码】

========放在Excel文件中批量打印word文件=======

Sub print_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

=======VBA Printout语法====

表达式.PrintOut(From, To, Copies, Preview,ActivePrinter, PrintToFile, Collate, PrToFileName)

表达式 一个代表 Range 对象的变量。其实指的就是打印的范围了。

参数介绍

下面我们给出Printout的中文语法

打印范围.PrintOut(从哪页开始打, 打到第几页, 打印份数, 打印求是否预览, 打印机名称, 是否打印到文件, 是否打印多个副本,打印到文件的名称)

二、Printout使用举例

A、设置打印第1页到第5页 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=5

B、要打印的3份 Sheets("工作表名称").PrintOut Copies:=3

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档