VBA打印指定目录下的所有文件Excel表(含表中所有sheet)

求助!本人资料员一个,按上司要求需要打印一大批的工程资料。。资料都已经做好,有几百个文件。每个文件里有几个文件夹,每个文件夹又有多层的Excel表。。。求大神VBA代码。能够把指定的文件夹中(希望可修改文件的位置),把里面各层全部的Excel文件(里面含多个sheet)都打印出来。

VBA是可以编写的,但是如果多次文件夹的话程序代码就不是几分钟就能完成的,固定文件夹的代码逻辑如下:

Option Explicit

Sub æ‰“印()
    Dim p$, n$, st As Worksheet
    p = "c:\123\报告\" '需要打印的文件所在的文件夹,必须以\结尾
    n = Dir(p & "*.xls?")
    While n <> ""
        With Workbooks.Open(p & n)
            For Each st In .Worksheets
                st.PrintOut
            Next st
            .Close
        End With
        n = Dir
    Wend
End Sub

如果是多层文件夹(文件夹里面有字文件夹),需要增加递归的框架。

其实试试看下面的方法,在【计算机】或者【我的电脑】里面多选EXCEL文件,鼠标右键点击选择【打印】,操作界面如下图:

追问

先谢谢你,按要求改了后,F5提示宏,之后运行。没有反应呢。这个文件夹我是新创的,只给摆了一个Excel在里面来测试。。。如果成功,不过我工作那个

那个目标文件夹是有好多层,每层都有不同的Excel+文件夹。进入文件夹又有多个Excel。每个工作簿又有多个sheet。那该怎么改呢?

追答

是不是你图上的代码运行失败了,麻烦你看第三行最后,感觉是引号使用了中文的,或者引号前面有多余空格,计算机必须使用英文符号,而且来不得半点虚假,你可以粘贴我的代码使用,如果报错请拷贝有错误信息黄色条的屏幕上图。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网