首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA Excel在打印PDF时隐藏带有名称的工作表

,可以通过以下步骤实现:

  1. 首先,确保已经安装了Adobe Acrobat软件,因为它提供了VBA操作PDF的功能。
  2. 打开Excel文件,按下Alt + F11打开VBA编辑器。
  3. 在VBA编辑器中,选择“插入”菜单,然后选择“模块”以创建一个新的模块。
  4. 在新的模块中,编写以下VBA代码:
代码语言:txt
复制
Sub PrintPDF()
    Dim ws As Worksheet
    Dim tempSheet As Worksheet
    Dim hideSheets As String
    Dim fileName As String
    
    ' 设置需要隐藏的工作表名称,多个工作表之间用逗号分隔
    hideSheets = "Sheet2,Sheet3"
    
    ' 创建一个临时工作表,用于复制需要打印的工作表
    Set tempSheet = ThisWorkbook.Worksheets.Add
    
    ' 复制需要打印的工作表到临时工作表
    For Each ws In ThisWorkbook.Worksheets
        If InStr(1, hideSheets, ws.Name) = 0 Then
            ws.Copy After:=tempSheet
        End If
    Next ws
    
    ' 删除临时工作表中的第一个空白工作表
    Application.DisplayAlerts = False
    tempSheet.Delete
    Application.DisplayAlerts = True
    
    ' 设置保存PDF的文件名和路径
    fileName = "C:\Path\to\save\file.pdf"
    
    ' 打印并保存PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
    
    ' 关闭临时工作簿
    ThisWorkbook.Close SaveChanges:=False
End Sub
  1. 在代码中的hideSheets变量中,设置需要隐藏的工作表的名称,多个工作表之间用逗号分隔。
  2. 在代码中的fileName变量中,设置保存PDF的文件名和路径。
  3. 运行PrintPDF宏,即可实现打印并保存PDF时隐藏带有名称的工作表。

请注意,以上代码是基于VBA和Excel的解决方案。对于更复杂的PDF操作需求,可以考虑使用专业的PDF处理库或软件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能

认真研究打印功能,其实打印真的是很多玄妙之处,Excel原生功能所支持。...准备要打印文件 二、获取待打印工作清单 对应选择是打印还是导出PDF,使用不同第1步,生成要打印或导出PDF工作清单。 若是导出PDF第1步,需额外一个步骤指定保存PDF位置。...批量打印第1步,无需设置文件信息 三、对获取到工作清单进行确认 因有可能一个工作薄中,有多个不同类型工作,只有部分工作才是需要导出PDF打印,故需要做一个判断,把不需打印行删除或隐藏。...只打印3个工作,其余自动筛选隐藏 有一细节可以重点关注,若是PDF文件,可以任意组合工作到不同PDF文件中,甚至可以跨工作薄组合,非常棒效果。 ?...波-文本处理类函数增强 第44波-可见区域复制粘贴不覆盖隐藏内容 第45波-逻辑判断函数增强 第46波-区域集合函数,超乎所求所想 第47波-VBA开发者喜爱加密函数类 第48波-拆分工作薄内工作

2.1K20
  • VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

    可以启动(当Excel开启)动态设置值,可以在运行时改变它们值(使元素无效后通过使用VBA回调过程)。...正如本文开头提到,也可以满足某条件在运行时动态地隐藏(和取消隐藏)内置组。这样例子包括:选择了图表工作、选择了特定工作、从组合框中选择了特定项、以及勾选了网格线复选框。...例如,下面的示例XML代码和在标准VBA模块中代码在运行时满足某条件隐藏(和取消隐藏)“对齐方式”组: ? customUI元素包括带有Initialize回调过程onLoad属性。...如果活动工作不是标准工作,就隐藏该组,否则该组可见。 注意,当打开工作簿,创建ribbon对象。编辑VBA代码可能销毁这个新创建对象。...如果活动工作名称是Sheet1,那么使BtnB和BtnC按钮可见,否则这两个按钮隐藏

    7.9K20

    Excel编程周末速成班第3课:Excel对象模型

    当方法使用参数,可以通过三种方法进行操作。第一种是方法名称括号中以正确顺序包含参数: 对象名.成员名(参数1, 参数2, …) 极少数情况下带有参数属性也必须使用此语法。...工作簿名称要么是你使用SaveAs方法赋给名称本课程后面部分介绍),要么是Excel创建新工作簿赋给默认名称工作簿1、工作簿2,等)。Save方法不带任何参数。...此名称显示Excel屏幕上工作标签上,也可以用于从Worksheets或Sheets集合中获取引用。...MyNewWorksheet As Worksheet Set MyNewWorksheet = ActiveWorkbook.Add MyNewWorksheet.Name = “销售总量” 说明:默认情况下,你代码中添加工作隐藏...Worksheets(“Sheet1”).CopyAfter:=Worksheets(“Sheet3”) 工作簿中进行复制,将为副本指定带有索引原始工作名称,例如“ Sheet1(2)”。

    5.1K30

    EXCEL必备工具箱17.0免费版

    Excel必备工具箱--快速生成手机通讯录,实现将excel表格中电话号码方便快捷地导入到手机通讯录中 Excel必备工具箱--批量打印多个word文档以及批量转换成PDF文档功能,便于批量打印word...EXCEL必备工具箱--跨提取行功能,帮你从相同格式多张表格中提取关键字一样行到一个EXCEL必备工具箱--强制读取VBA代码,绕过EXCEL安全机制,无论采用何种保护措施,都可以直接读出VBA...EXCEL必备工具箱,QQ群中为你提供个性化帮助 EXCEL必备工具箱--正负数转换功能,瞬间搞定普华永道等审计机构要求按借正贷负填写表格 EXCEL必备工具箱--批量打印多个工作簿、批量转换成PDF...--文档减肥功能 EXCEL必备工具箱--生成工作目录功能 EXCEL必备工具箱--人工双面打印功能 EXCEL必备工具箱--区域隐藏/恢复功能 EXCEL必备工具箱--区域文本重排功能,实现在excel...EXCEL必备工具箱--轻松隐藏/取消隐藏工作Excel必备工具箱--按工作簿汇总功能,将多个文档相同位置数据加到一起 EXCEL必备工具箱--从文本中逐个挑出数值功能,众里寻她千百度,文本堆中挑出数

    5.2K40

    VBA实战技巧19:根据用户工作选择来隐藏显示功能区中剪贴板组

    excelperfect 有时候,我们可能想根据用户工作选择来决定隐藏或者显示功能区选项卡中特定组,避免用户随意使用某些功能而破坏我们工作结构。 下面,我们通过一个示例来演示。...我们想让用户选择工作表列B中任意单元格隐藏“开始”选项卡中“剪贴板”组,而当用户选择其他单元格,该组又重新显示,如下图1所示。 ?...图1:当用户选择单元格列B中,“剪贴板”组隐藏,处于其他单元格中,“剪贴板”组显示 首先,我们新建一个工作簿并保存。...然后,使用自定义UI工具打开该工作簿,输入如下所示XML代码: <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"onLoad...图2:Custom UI Editor For Microsoft Office中编辑输入XML 重新打开工作簿,按Alt+F11键打开VBA编辑器,插入一个标准模块,输入下面的代码: Public

    4.1K10

    VBA: 获取电脑当前默认打印名称

    借助Application.ActivePrinter属性,一方面可以查询当前默认打印名称,另一方面,也可以指定默认打印名称。...Printer_original = Application.ActivePrinter '2 将一份excel文件转化为pdf文件 Path = "E:\工作\报告展示...Application.ActivePrinter = Printer_original End Sub 该代码主要分为三步:(1)先记录当前默认打印名称,一般电脑默认连接是实体打印机...;(2)借助Printout函数将指定Excel文件转换为PDF文件,此时默认打印名称已经发生变化,转变成了Microsoft Print to PDF; (3)恢复默认打印机,也就是第(1)步保存打印名称...) 延伸阅读: [1] VBA: Excel文件批量转化为pdf (2)

    2.4K20

    Workbook工作簿对象基础

    一、工作簿对象引用 一个工作簿对象workbook实际就是一个excel文件,vba代码使用时引用它主要有两种方式,一种是通过工作簿对象名称,一种是是通过index索引号。...1、Workbooks(“工作簿完整名称”) 工作簿对象workbook对象名称,即excel文件名称都是不重复,引用时需要工作簿完整名称,包括文件后缀名(要注意后缀不同,带有excel文件为...Workbooks("vba.xlsm").Worksheets.Count表示统计vba.xlsm工作簿对象普通工作数量,引用工作簿对象,表示方法为:Workbooks("vba.xlsm"...电脑打开了三个工作簿,从左至右分别是vba工作簿1,示例。通过循环来获得三个工作名称。...使用excel,都是某个工作簿workbook中进行编辑。即该工作簿当前是被激活状态,使用activeworkbook来表示。

    2.8K30

    Power BI:关于FilterDatabase和命名区域(DefinedName)

    文章背景:使用文件夹方式批量导入多份Excel文件,由于Excel文件中存在隐藏筛选行,所以导致数据重复录入,后来看了赵文超老师一篇文章(见文末参考资料1),对这一问题有了新认识。...筛选后数据如下: 使用筛选后,Excel会自动产生一个名称_FilterDatabase,它代表了自动筛选区域。由于这个区域是隐藏,所以经常会被忽略。...对于隐藏命名区域FilterDatabase,由于我们看不见,所以需要先通过一段VBA代码调出。...2 通过Excel工作簿导入 Power BI中,通过Excel工作簿导入上述销售数据,一切正常。...这时,如果直接将Data列展开,则会把工作数据和命名区域中数据都展开,也就造成了数据重复。而当我们有多份Excel文件合并很难发现这个错误。

    2.1K50

    运行Excel VBA15种方法2

    图16 此时,会在功能区中添加带有一个组自定义选项卡。选择该选项卡,单击“重命名”按钮,修改默认名称,如下图17所示。...图18 单击“确定”,这样就在Excel功能区中添加了一个名为“我宏代码”自定义选项卡,带有一个“新建组”,里面是与要运行宏关联命令按钮,如下图19所示。...End Sub 注意,将独立功能代码或者重复代码放置单独过程中,然后通过其它过程调用,这是一种好编程习惯。 方法13:从工作事件中调用VBA过程 可以基于事件来自动运行宏。...例如下图22所示代码。 图22 这段代码工作Sheet1代码模块中,当工作Sheet1中单元格A1发生变化会自动调用testVBA过程。...方法14:从超链接中运行VBA 单击超链接触发宏运行,如下图23所示。 图23 很特别! 方法15:从工作簿事件中调用VBA过程 基于工作簿事件,例如打开或关闭工作簿自动运行宏。

    49540

    基于单元格值查找并显示图片

    标签:Excel技巧,VBA 之前文章中介绍过这个技巧,这是mcgimpsey.com中看到,也辑录于此,供参考。 一图胜千言。...由于Excel图片不能放在单元格中,而是浮在工作顶部,并且由于查找函数返回是值,而不是图片,因此需要一些VBA代码来模拟查找图片并将其放置单元格中。...另一张工作上,一个名为PicTable查找将合作伙伴名称与相应图片名称相关联。...图1 图片放在工作Sheet1任何位置,图片所在单元格F1中,输入以下公式: =VLOOKUP(A2, PicTable, 2, False) 然后,工作Worksheet_Calculation...VBA代码隐藏所有图片,然后显示与F1中值相对应图片,必要重新定位。

    30410

    Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

    主要内容: 用户窗体概述 将用户表单添加到工程 用户窗体设计基础 用户窗体属性和方法 显示和隐藏用户窗体 用户窗体示例 Excel程序员可以创建自定义对话框以VBA应用程序中使用。...引用属性语法与其他对象语法相同: 用户窗体名.属性名 每个用户窗体创建都会分配一个名称:UserForm1、UserForm2,等等。...此名称(Name属性)是你VBA代码中用来引用窗体名称创建用户窗体后,建议为其赋予一个描述性名称,以避免必须使用默认名称。 注意:通常,你需要在设计阶段设置所有用户窗体属性。...该程序将显示一个带有你输入文本消息框,显示VBA代码如何从用户窗体中检索数据。 这是一个简单演示。...内置函数编程 第14课:格式化工作 第15课:查找和替换操作 第16课:图表编程简介 第17课:高级图表编程技术 第18课:使用用户窗体创建自定义对话框

    11K30

    VBA专题10-2:使用VBA操控Excel界面之设置工作

    本文主要讲解操控工作中一些界面元素VBA代码。 名称名称框中名字是为单元格区域定义名字,可以由用户定义名称,或者由Excel自动创建,例如Print_Area和1。...=False Next nm 但是,不能隐藏Excel自动创建名称 即便隐藏名称,你仍然能够通过名称框中输入名称到达该名称单元格区域。...工作代码名称VBE编辑器属性窗口中可以看到) 下面的代码展示了隐藏工作之前引用工作3种不同方法: '隐藏名为Sheet3工作 Sheets("Sheet3").Visible= xlSheetHidden...:即便用户移动和重命名工作,或者添加工作VBA代码将仍然引用是正确工作。...注意,代表颜色值常量可以VBA帮助系统中查找。

    4.7K40

    告诉你什么是Excel VBA对象模型及如何引用对象

    基本说来,Excel VBA对象模型是编程可以使用对象层次结构,它使得引用要操控对象更容易。 对象层次结构如下: 层级1:最顶端,只有一个对象。...Name,代表为特定单元格区域定义名称。 PageSetup,用于存储打印信息。 PivotTables,包含PivotTable对象。...但不要着急,在编程,我们通常只使用其中一些常用对象,即便需要使用一些不常见对象,也能很快Excel对象模型参考中找到,或者通过宏录制器录制宏来找到想要用对象。...Worksheets,特定工作簿中所有Excel工作集合。 Charts,特定工作簿内所有图表工作。...Sheets,特定工作簿中所有工作集合,此时与工作类型无关,包含常规工作和图表工作。 引用对象 在编写VBA代码,了解如何引用对象是至关重要

    4.5K30

    Worksheet工作对象属性

    大家好,本节主要介绍工作对象相关属性。上节大部分已经涉及到,下面主要汇总复习下。 一、name属性 上节介绍引用工作对象,已介绍过name属性,它是工作标签名称。...(所以使用索引号引用工作,如果改变排列顺序就可能导致指定工作表错误,这点需要注意。) 代码中变量从1到工作对象数量4。即索引号从1至4。对应工作名也是从左至右。...四、visible属性 通过设置工作visbils属性达到显示和隐藏工作目的。(visbile属性可以通过vba代码更改,也可以工作属性窗格中更改visible属性。)...属性值通常有三个值可供选择: 属性值-1为显示隐藏工作。(vba代码中也可以使用1和true) 属性值0为普通隐藏,可以从格式菜单中取消隐藏。...工作codename属性是工作对象名称,上节已经有详细介绍,新增工作excel会默认工作name和对象名称codename相同。

    2.7K30

    答案:Excel VBA编程问答33题,继续……

    6.假设一个控件被重叠控件隐藏。在运行时,如何使隐藏控件可见? 调用具有fmTop参数隐藏控件ZOrder方法。 7.如何防止用户通过制表键将焦点移到控件上?...用户窗体上事件。 10.当用户在任何工作中进行修改操作,将触发哪个事件? Workbook.SheetChange事件。 11.用户如何阻止打开工作簿触发Open事件? 按住Shift键。...数据验证是确保用户不会输入无效数据过程,例如在输入数字应输入文本。 13.你应该在何处放置工作簿级别事件事件过程? ThisWorkbook模块中。...16.是非题:保护工作簿密码可防止用户查看你VBA代码。 错误。必须使用“项目工程属性”对话框中“保护”选项卡,将VBA工程与设置给工作簿任何密码分开锁定。...将鼠标指针悬停在变量名称上。 22.是非题:监视窗口中程序运行时会不断更新。 错误。监视值仅在程序进入中断模式才更新。 23.VBA如何将bugs报告给程序员? 不会。

    4.2K20

    VBA: 多份Excel文件批量顺序打印(3)

    文章背景: 上一篇文章(参见文末参考资料[1])提到,可以通过VBA编程,选中需要打印多份Excel文件,进行批量打印。...最近发现,有一台电脑更换主机后,通过宏命令打印,仍然出现了出纸乱序问题。 打印顺序乱原因可能是,文件对话框中选择文件列表顺序与实际打开文件顺序不一致。...然而,某些情况下,文件对话框可能会以不同顺序显示文件列表,导致实际打开文件顺序与用户希望顺序不一致。...Set ws = wb.Worksheets(1) ' 打印当前工作 ws.PrintOut...参考资料: [1] VBA: 多份Excel文件批量顺序打印 [2] VBA: 多份文件批量顺序打印(2) [3] VBA: 快速排序算法:从原理到实现 [4] 讯飞星火大语言模型

    29710

    Excel VBA编程

    隐藏活动工作所有工作 批量新建指定名称工作 批量对数据进行分离,并保存到不同工作中 将多张工作数据合并到一张工作中 将工作簿中每张工作都保存为单独工作簿文件 将多个工作簿中数据合并到同一张工作中...数组存取 当将Excel数据传递给数组,默认建立是一个二维数组,因此取数组,需要传递两个数值进去,如果只传入一个数组,会出现下标越界警告。...VBA中,Excel工作簿,工作,单元格等都是对象,图表,透视,图片等也都是对象,甚至于单元格边框线,插入批注都是对象… 集合也是对象,它是对多个相同类型对象统称。...编写事件过程,通常我们都采用这种方式:依次【代码窗口】【对象】列表框和【事件】列表框中选择相应对象及事件名称,让VBA自动替我们设置事件过程作用域、过程名称以及参数信息 更改单元格自动执行 Private...事件 worksheet对象一共有17个时间,可以【代码窗口】【事件】列表框或VBA帮助中查看这些事件 常用worksheet事件 事件名称 时间说明 activate 激活工作发生 beforeDelete

    45.4K22

    VBA代码库09:增强CELL函数和INFO函数

    excelperfect 本文介绍自定义函数来源于wellsr.com,以ExcelCELL函数和INFO函数为样板,可直接返回工作工作簿名称工作簿路径,以及与Excel及其操作环境有关各种信息...Excel研究\06.2 VBA代码库\09\[VBACodeLibrary09.xlsm]Sheet1 下面的公式来拆分出工作簿路径、工作簿名称工作名称。...,FIND("]",CELL("filename",A1))+1,999) 结果返回工作名称: Sheet1 详细内容参见:Excel函数学习24:CELL函数 NameOf函数 NameOf函数用来增强...NameOf函数代码如下: ' 返回工作名,工作簿名或工作簿路径 ' 或者, 返回应用程序名、版本、标题、状态栏、用户名、组织名或当前打印机 ' 或者, 返回环境变量"COMPUTERNAME" 或...此外,两个参数都声明为ByVal,确保函数中更改不会影响到传递给它参数。函数返回Variant型结果,表示指定TargetThis名称

    4.6K10

    Excel VBA编程教程(基础一)

    step three Excel 工作簿中 VBA 代码通常保存在工作对象或模块中。本例中,我们用模块保存 VBA 代码。...新插入模块默认名称是,模块 x,本例中是模块1。属性窗口,可以修改模块名称。 step four 打开模块 双击上一步插入模块1,右侧代码窗口区域里,将打开模块1代码编辑器。...VBA 工程:显示当前 VBA 工程包含所有对象。通常,一个工作簿就是一个 VBA 工程,其中包括 Excel 对象、工作对象、模块等。 属性窗口:查看和设置选中对象属性窗口。...管理VBA工程 通常,一个工作簿就是一个 VBA 工程,其中包括 Excel 对象、工作对象、模块等。...With 结构实例 现在看一个实际例子,需要将工作簿中 Sheet1 工作设置新名称,然后设置标签颜色为黑色,最后隐藏工作

    12.1K22
    领券