问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我有1000个excel表格,每个excel表都有两个sheet,如何批量操作,打印时只打印sheet1?

发布网友 发布时间:2022-07-23 04:50

我来回答

4个回答

热心网友 时间:2023-11-23 14:56

附件已写好宏,可以实现按文件夹(含所有子文件夹)打印和按文件清单打印的功能:

1. 操作界面如图:

2. 代码如下,可以自行制作宏文件:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim iPath As String, i As Long

Dim t

Dim PathLen As Integer

Dim RunSignal As Variant, Reply As Variant

Dim Tr As Single, Tc As Single


    Tr = Target.Row

    Tc = Target.Column

    If Tr = 1 Then

        If Tc = 1 Then

            RunSignal = "List"

            Reply = MsgBox("This operation will print out files listed in column A! Please make sure your print setting is excellent enough!", vbOKCancel, "Warning")

            If Reply = vbCancel Then

            Exit Sub

            End If

        ElseIf Tc = 3 Then

            RunSignal = "Folder"

            Reply = MsgBox("This operation will list all files in specified folder first. And then, print out! Please make sure you choosed the right folder!", vbOKCancel, "Warning")

            If Reply = vbCancel Then

            Exit Sub

            End If

        Else

            Exit Sub

        End If

    Else

        Exit Sub

    End If

    

t = Timer

Application.ScreenUpdating = False

    If RunSignal = "List" Then

        GoTo Line1

    ElseIf RunSignal = "Folder" Then

        ActiveSheet.UsedRange.Offset(1, 2).ClearContents

    End If

    

    With Application.FileDialog(msoFileDialogFolderPicker)

        .Title = "Select a folder please!"

        If .Show Then

            iPath = .SelectedItems(1)

            PathLen = Len(iPath)

        Else

            Exit Sub

        End If

    End With

    

    If iPath = "False" Or Len(iPath) = 0 Then Exit Sub

        i = 1

        Call GetFolderFile(iPath, i)

Line1:  Call PrintFiles(RunSignal)

    MsgBox "Completed in " & Int((Timer - t) / 3600) & " hours " & Int(((Timer - t) Mod 3600) / 60) & " minutes " & (Timer - t) Mod 60 & " seconds!", vbOKOnly, "Time record"

Application.ScreenUpdating = True

End Sub


Private Sub GetFolderFile(ByVal nPath As String, ByRef iCount As Long)

Dim iFileSys


Dim J As Single

Dim Process As Variant, P As Integer

Dim ProcessLen As Integer


Set iFileSys = CreateObject("Scripting.FileSystemObject")

Set ifolder = iFileSys.GetFolder(nPath)

Set sfolder = ifolder.SubFolders

Set ifile = ifolder.Files

    

    

    With ActiveSheet

        For Each gfile In ifile

            

            If gfile.Type Like "*Excel*" And Not gfile.Path Like "*~$*" Then

            .Cells(iCount + 1, 3) = gfile.Path

            .Cells(iCount + 1, 4) = gfile.DateLastModified

            .Cells(iCount + 1, 5) = gfile.parentfolder

            .Hyperlinks.Add anchor:=.Cells(iCount + 1, 6), Address:=gfile.Path, TextToDisplay:=gfile.Name

            

            iCount = iCount + 1

            End If

        Next

       

    End With

      

    For Each nfolder In sfolder 'Search all the folders

        Call GetFolderFile(nfolder.Path, iCount)

    Next

End Sub



Sub PrintFiles(ByVal RunSignal As Variant)


Dim Wb As Workbook

Dim Sho As Worksheet

Dim Fs As Single, FCount As Single, C As Single


Application.DisplayAlerts = False


Set Sho = ActiveSheet

If RunSignal = "List" Then

    C = 1

ElseIf RunSignal = "Folder" Then

    C = 3

End If


FCount = Sho.Cells(10000, C).End(xlUp).Row


If FCount <= 2 Then

    MsgBox ("Nothing can be printed!")

    Exit Sub

Else

    For Fs = 2 To FCount

        Set Wb = Workbooks.Open(Sho.Cells(Fs, C).Text)

        Wb.Sheets(1).PrintOut

        Wb.Close savechanges = False

    Next

End If


Application.DisplayAlerts = True


End Sub

3. 想要现成文档可以在这个链接下载启用宏的文档

4. 没有CSDN积分的可以发消息给我用百度网盘下载,就是要收费喔!

热心网友 时间:2023-11-23 14:56

编写好

Excel怎样批量打印多个工作簿(文件)的每个表

热心网友 时间:2023-11-23 14:57

这是别人的,你改一改就能用有备注
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim Wb As Workbook '定义一个wb工作簿变量
On Error Resume Next '容错
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
'多选
.Filters.Clear
'清除文件过滤器
.Filters.Add ".Excel文件", "*.xlsx"
.Filters.Add ".Excel文件", "*.xlsm"
.Filters.Add ".Excel文件", "*.xls"
.Filters.Add "全部文件", "*.*"
'设置两个文件过滤器
If .Show = -1 Then
For i = 1 To .SelectedItems.Count
Set Wb = Workbooks.Open(.SelectedItems(i))
Wb.Sheets(1).PageSetup.PrintArea = Wb.Sheets(1).Range("A1:S35") '设置打印区域
Wb.Sheets(1).PrintOut copies:=1, from:=1, to:=1
Wb.Close
Next
Set Wb = Nothing
End If
End With
Application.ScreenUpdating = True
End Sub

热心网友 时间:2023-11-23 14:57

下载方方格子插件,批量打印
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
冠状病毒酒精消毒怎么使用 袁咏仪主演的真爱之百万新娘哪个网站可以看 ...方便的话告诉我结局怎么样。陈玉是不是死了 冉冉东升可以组什么句子 求我姓冉的专属句子 弹弹堂高手之路全部过完给多少强化石 百度弹弹堂2里面的《高手之路高级高抛打法(高级)》《高手之路高级高差训 ... 弹弹堂工厂3怎么打 弹弹堂高手之路的任务怎么触发的 腹肌练习计划 西安交大临床医学考研 中等职业学校第三课堂指的什么?运行管理制度? 西安交通大学的临床医学怎么样? 如何使百度云持续下载 下到一半的文件怎么用百度云继续下载? 传自明朝李时珍时,想用此祖传的秘方创业,但是没 取消高考奥数加分没有打中奥数热的“七寸” 有温州医学院的没??我想考那里的研究生,怎么样啊这所学校??在温州医学院读临床医学考研到外地名校(_百度问一问 写一篇关于意气的作文。学霸们求解答。 武汉大学临床医学研究生哪个专业好考? 为什么易建联每次投篮都打铁啊,听易建联自己说是因为NBA的观众太多天气太热影响发挥啊? 怎么才能打铁进球,详细点 彩虹岛的打铁就是挖矿? 《少女,打铁吧!》txt下载在线阅读全文,求百度网盘云资源 有冷姓书法家吗 有姓冷的吗? 百家姓中有姓冷的吗 关于“冷”姓氏的来源和相关信息,有谁可回答? 姓冷的皇帝有哪些? 名人呢? 姓冷祖宗是谁? 上海交大研究生临床医学要考多少分才能录取啊,不仅仅只过线就行吧 我是一名普通的二本院校学生,想考上海交通大学医学院临床研究生,不知道最少要考多少分才够?难度大不大 瓦斯爆炸化学式 煤矿矿井中发生瓦斯爆炸时发生反应的化学方程式是 瓦斯爆炸的化学反应方程式是什么 发生瓦斯爆炸的原因用化学方程式表示为()? 北京南火车站离北京西火车站多远?怎么搭车过去? 温州医科大学历年临床医学研究生分数线是多少?在哪里可以查到?这学校好不好考? 温州医学院研究生复试基本分数线 温州医科大学2021年录取分数线 温州医学院历年临床硕士研究生录取分数线 急~!!温州医学院研究生历年入取分数线 温州医科大学分数线 温州医学院普外科研究生分数线是多少呢?急!!! 中国古代的足球叫什么名字 踢足球也可以叫斗什么 古代人把足球叫做什么 踢足球最早叫什么? 惊声尖笑1和2搞笑吗? 惊声尖笑2开头的那个场景是恶搞什么影片阿