Microsoft Excel是很多办公一族的常用工具,其强大的功能几乎能满足所有有数据处理方面的要求。而其自带的宏命令更是能简化一些数据处理中重复性的工作。 注:application.fileSearch对象只适用EXCEL2003版本。2007以上不支持。 一次笔者要把一批资料的纸张大小由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纸张,缩印成一页宽和一页高,然后再打印整个工作簙,保存并退出,接着依次打开当前目录下的所有工作簿,执行相同的任务。 注意,程序所搜索到的文件仅是当前目录下的工作簿,不包括子目录下的文件。 |
|