妙用Microsoft Excel的宏命令批量打印工作表

Microsoft Excel是很多办公一族的常用工具,其强大的功能几乎能满足所有有数据处理方面的要求。而其自带的宏命令更是能简化一些数据处理中重复性的工作。
一次笔者要把一批资料的纸张大小由B4纸调整为A4纸,并在打印时缩放成一页(即一页宽,一页高)。由于资料都是由单独工作簙构成的,对于每一个明细资料,都需要逐个打开工作簙,设置每一张工作表的页面设置,然后再打印,工作量很大。然而笔者利用宏很快便完成了所有的工作。方法如下:
启动Microsoft Excel,按快捷键“Alt+F11”进入Microsoft Visual Basic编辑器。在编辑器中单击菜单“插入→模块”,在创建的模块中输入以下代码:
Sub printer()
With Application.FileSearch
    .LookIn = "E:/财务决算/变更报表/" '设置文件的搜索路径
    .FileType = msoFileTypeExcelWorkbooks '设置要搜索的文件类型为工作簿
    If .Execute > 0 Then '如果找到一个或多个文件
       For i = 1 To .FoundFiles.Count  '设置打开工作簙的循环
         Workbooks.Open Filename:=.FoundFiles(i) '打开找到的每一个工作簙
         For j = 1 To Worksheets.Count '设置逐项选择工作表的循环
          Worksheets(j).Select '选择工作表
          With ActiveSheet.PageSetup '设置当前工作表的页面设置
           .PaperSize = xlPaperA4 '设置纸张大小为A4纸
           .Zoom = False
           .FitToPagesWide = 1 '设置为1页宽
           .FitToPagesTall = 1 '设置为1页高
          End With
        Next j '选择下一张工作表
          ActiveWorkbook.PrintOut '打印整个工作簙
          ActiveWorkbook.Save '保存当前工作簙
          ActiveWorkbook.Close '关闭当前工作簙
       Next i '打开下一个工作簙
    Else
    MsgBox "没有找到任何工作簿文件" '提示没有找到任何工作簿文件
    End If
End With
End Sub
输入代码后,按快捷键“F5”运行宏,这时系统就会打开找到的第一个工作簿,并依次设置每一张工作表的纸张大小为A4纸张,缩印成一页宽和一页高,然后再打印整个工作簙,保存并退出,接着依次打开当前目录下的所有工作簿,执行相同的任务。
注意,程序所搜索到的文件仅是当前目录下的工作簿,不包括子目录下的文件。

你可能感兴趣的:(其他)