EXCEL VBA 多sheet批量转转PDF

EXCEL VBA 多sheet批量转转PDF

python 复制代码
Sub zhuanpdf()
'转pdf
    Application.ScreenUpdating = False '关闭刷新
    Dim chaifm As String '拆分名
    chaifm = Sheets("参数表").Cells(75, 2).Value
    
    Dim yuanbm As String '原表名
    Dim ws As Worksheet  '定义表格
    Dim biao As String  '表名
    Dim biao2 As String  '辅助记数,有与否
    yuanbm = ActiveSheet.Name
    biao = ""
    biao2 = ""
    On Error Resume Next
    Set ws = Nothing
    '第一个表
        If Sheets("参数表").Cells(5, 2).Value = True And Sheets("参数表").Cells(8, 2).Value <> "" Then
            biao = Sheets("参数表").Cells(8, 2).Value
            Set ws = Sheets(biao)
            If ws Is Nothing Then '指定的工作表不存在
                Else '指定的工作表已存在
                    Sheets(biao).Activate
                    biao2 = biao
                    Set ws = Nothing
            End If
        End If
    '第二个表
        If Sheets("参数表").Cells(6, 2).Value = True And Sheets("参数表").Cells(9, 2).Value <> "" Then
            biao = Sheets("参数表").Cells(9, 2).Value
            Set ws = Sheets(biao)
            If ws Is Nothing Then '指定的工作表不存在
                Else '指定的工作表已存在
                    If biao2 = "" Then
                        Sheets(biao).Activate
                        Else
                            Sheets(biao).Select Replace:=False
                    End If
                    biao2 = biao
                    Set ws = Nothing
            End If
        End If
    '第三个表
        If Sheets("参数表").Cells(7, 2).Value = True And Sheets("参数表").Cells(10, 2).Value <> "" Then
            Dim biaochuan As String '表串,即多个工作表,用"/"分开
            Dim iii As Integer
            biaochuan = Sheets("参数表").Cells(10, 2).Value
            iii = 1
            Do While iii <> 100
                iii = InStr(1, biaochuan, "/", 0)
                If iii = 0 Then
                    iii = 100
                    biao = biaochuan
                    Else
                        biao = Left(biaochuan, iii - 1)
                        biaochuan = Mid(biaochuan, iii + 1, 300)
                End If
                Set ws = Sheets(biao)
                If ws Is Nothing Then '指定的工作表不存在
                    Else '指定的工作表已存在
                        If biao2 = "" Then
                            Sheets(biao).Activate
                            Else
                                Sheets(biao).Select Replace:=False
                        End If
                        biao2 = biao
                        Set ws = Nothing
                End If
            Loop
        End If
    '生成pdf
        Call zhuanpdf2(chaifm)
On Error GoTo 0
Sheets(yuanbm).Select
Application.ScreenUpdating = True '开启刷新
    
End Sub
Sub zhuanpdf2(chaifm As String)
'转pdf2
    luj = ThisWorkbook.Path
    If Dir(luj & "\拆分表", vbDirectory) = Empty Then
        MkDir luj & "\拆分表"
    End If
    luj = luj & "\拆分表\"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            luj & chaifm & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            False
End Sub
相关推荐
从零开始学习人工智能12 分钟前
从PDF到智能问答:RAG-Anything多模态银行文档处理实战解析
大数据·人工智能·pdf
其实秋天的枫1 小时前
考研数学一、二、三历年真题及答案解析PDF电子版(1987-2026年)
经验分享·pdf
WJX_KOI1 小时前
Pandoc —— 解决AI生成的md文档格式转换,安装部署与使用指南(MD转DOCX、PDF等)
人工智能·pdf
Tdsay_1 小时前
在线进行PDF与Base64互转实践指南 —— 浏览器快速处理文档编码数据
pdf·pdf转base64·土豆丝在线工具·base64转pdf
优化控制仿真模型20 小时前
【2026年最新】英语四级历年真题及答案解析PDF电子版(2015-2025年12月)
经验分享·pdf
asdzx6721 小时前
使用 Python 快速为 PDF 添加背景色或背景图片
python·pdf
fanchenxinok1 天前
LIN矩阵Excel ⇄ LDF互转工具:打通设计数据与协议描述的关键桥梁
矩阵·excel·lin·ldf·excel和ldf互转
拆房老料1 天前
多人协同编辑Excel时,筛选相互干扰怎么办?Onlyoffice中国版给出了与WPS一样的答案
编辑器·excel·开源软件·wps
Data-Miner1 天前
Excel-Agent:你的专属 AI 数据分析助手
人工智能·数据分析·excel
其实秋天的枫1 天前
【26年3月最新】计算机二级WPS真题试题及答案14套电子版PDF(含操作题和选择题)
经验分享·pdf