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

Excel实战技巧57: 标识并使用VBA代码识别特定工作簿

有时候,需要使用代码确认某个工作簿是否是特定模板创建,或者是否属于某个应用程序,如果是就打开并操作该工作簿或应用程序。如何实现呢?...一种常用方法是对工作簿文件添加自定义文档属性,这样让代码在不打开工作簿情况下判断是否是想要工作簿。...为工作簿添加自定义文档属性 单击“文件——信息——属性——高级属性”,打开工作簿“属性”对话框。...图1 安装工具库DSOFile.dll 我们要使用名为DSOFile.dllCOM对象从关闭工作簿中读取文档属性,因此,需要下载并安装该DLL。...,测试工作簿中是否具有名为MyTestBook属性,如果是,则弹出下图3所示消息。

1.7K10

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

可以在启动(当Excel开启时)动态设置值,可以在运行时改变它们值(在使元素无效后通过使用VBA回调过程)。...当打开工作簿时执行该回调。 GroupAlignmentExcel组元素包括getVisible属性。通过该属性指向HideAlignmentGroup过程,在打开工作簿使该控件无效时执行。...如果活动工作表不是标准工作表,就隐藏该组,否则该组可见。 注意,当打开工作簿时,创建ribbon对象。编辑VBA代码可能销毁这个新创建对象。...试图使与销毁对象相关控件无效是不可能,唯一办法是重新创建ribbon对象重新打开工作簿。 当激活图表工作表时,“开始”选项卡中“对齐方式”组被隐藏,如下图所示: ?...在Excel 2007中,Invalidate方法使功能区中所有的控件无效。随后,调用HideHomeTab过程。如果活动工作表不是标准工作表,就隐藏“开始”选项卡,否则该选项卡可见

7.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

本书将针对你将要使用各种Excel对象讲解这两种技术。 使用集合 Excel对象模型经常使用集合。这是一个特殊类(Collection类),专门用于跟踪其他对象多个实例。...有关详细信息,请参考VBA在线帮助。 另一种方法SaveCopyAs使你可以使用新名称保存工作簿副本,而无需更改打开工作簿名称。...下面的代码示例演示如何使用ForNext … In循环关闭所有打开工作簿,并保存所有更改。...如果需要使其可见以便用户可以使用它,将其Visible属性设置为True。...4.Excel对象层次结构顶部是哪个对象? 5.如何为新创建工作簿赋予名称? 6.如何引用当前活动工作表? 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

5K30

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

在运行时,如何使隐藏控件可见? 7.如何防止用户通过制表键将焦点移到控件上? 8.如何命名事件过程?...10.当用户在任何工作表中进行修改操作时,将触发哪个事件? 11.用户如何阻止打开工作簿时触发Open事件? 12.什么是数据验证? 13.你应该在何处放置工作簿级别事件事件过程?...14.如何定义在一天特定时间执行代码? 15.如何允许用户查看工作簿但不能进行修改? 16.是非题:保护工作簿密码可防止用户查看你VBA代码。 17.是非题:一个bug阻止程序运行。...22.是非题:监视窗口中值在程序运行时会不断更新。 23.VBA如何将bugs报告给程序员? 24.是非题:最终用户必须具有已安装Excel版本才能运行Excel应用程序。...31.类方法与常规VBA过程有何不同? 32.什么是辅助方法? 33.在销毁对象之前触发了什么事件? 如果有兴趣,可以在留言中写下你答案。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

1.9K30

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

在运行时,如何使隐藏控件可见? 调用具有fmTop参数隐藏控件ZOrder方法。 7.如何防止用户通过制表键将焦点移到控件上? 将控件TabStop属性设置为False。...10.当用户在任何工作表中进行修改操作时,将触发哪个事件? Workbook.SheetChange事件。 11.用户如何阻止打开工作簿时触发Open事件? 按住Shift键。...14.如何定义在一天特定时间执行代码? 使用OnTime事件。 15.如何允许用户查看工作簿但不能进行修改? 通过在“另存为”对话框“工具”菜单中设置“修改权限密码”。...16.是非题:保护工作簿密码可防止用户查看你VBA代码。 错误。必须使用“项目工程属性”对话框中“保护”选项卡,将VBA工程与设置给工作簿任何密码分开锁定。...24.是非题:最终用户必须具有已安装Excel版本才能运行Excel应用程序。 不一定。没有Excel程序,但安装了Excel查看器,也可以运行Excel应用程序。

4.2K20

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

Names,包含Name对象 VBProjects,代表打开项目。 Windows,包含指定Excel工作簿Window对象。 Worksheets,包含Worksheet对象。...所以,集合允许同时处理一组完整VBA对象,而不是处理每个单个对象。 以下是常见集合示例: Workbooks,当前打开所有Excel工作簿集合。...Sheets,特定工作簿中所有工作集合,此时与工作表类型无关,包含常规工作表和图表工作表。 引用对象 在编写VBA代码时,了解如何引用对象是至关重要。...注意,这只是基本引用框架,并没有实际识别单个VBA对象,即如果有几个工作簿工作表,如何知道引用哪个?...实际上,可以简化对象引用,使代码更简短。 之所以能够简化完全限定引用,是因为Excel VBA对象模型有一些默认对象,当没有明确输入时,Excel会假设你引用是这些对象。

4.3K30

VBA专题10-6:使用VBA操控Excel界面之执行命令以及激活功能区选项卡两种方法

创建新工作簿并将其保存为启用宏工作簿。 3. 关闭该工作簿并在CustomUI Editor中打开。 4....选择这个选项使工作簿Excel 2007及后续版本兼容。 5....在Excel打开该文件。 由于Initialize过程仍然没有准备执行,因此会出现错误消息,单击“确定”。 10. 按Alt+F11打开VBE。 11....使用对功能区引用,可以接着通过myRibbon对象激活功能区选项卡(以及使功能区中选项卡和控件无效)。 12. 保存,关闭,然后重新打开工作簿。...要激活特定内置功能区选项卡,例如“数据”选项卡,使用下面的代码: myRibbon.ActivateTabMso "TabData" 如果要在打开工作簿时激活“数据”选项卡,在Initialize过程中插入上面的语句

3.6K20

Python与Microsoft Office

下一行是通过调用Excel实例“Workbooks.Add()”方法将新工作簿添加到Excel,这将返回一个sheets对象。要获得活动表,调用ss.ActiveSheet。...最后,通过将Visible属性设置为True,使Excel程序本身可见。 要设置特定单元格值,调用如下内容:sh.Cells(row,col).Value=“一些值”。...对象“sheets”方法,在稍微修改之后,通过执行以下操作使其在Python中工作: sheet2 = ss.Sheets(“Sheet2”) 现在,我们在工作簿第二个工作表上有了一个句柄。...如果想编辑或检索值,只需将上面使用相同方法加在sheet2实例(即sheet2.Cells(1,1).Value)即可。原程序最后两行将关闭工作表,然后退出整个Excel实例。...可能会想,到目前为止,所展示只是如何创建一个新文档。如果打开现有文件,该怎么办?

2.6K20

工作簿有密码,自动刷新数据,没问题! | PQ重要技巧

然鹅,偏偏回到Excel本身,如果工作簿设置了密码,Power Query却没有提供输入密码自动刷新功能,结果,碰到有密码Excel工作簿时,刷新就会出错,还提示为“文件包含损坏数据”……如下图所示...这个时候,不要忘了还有咱们老朋友VBA嘛!通过Power Query与VBA强强联合,咱们就可以刷新对带密码Excel工作簿数据自动刷新。...: 重要技巧:这里如果直接引用带密码Excel工作簿,后面的数据处理过程将无法进行,所以,应该先把要加密Excel工作簿解密,处理好后再重新加密。...- 3 - VBA实现解密刷新 通过VBA,我们可以用密码打开数据源工作簿,清除密码,然后刷新查询,刷新完毕后再对数据源工作簿重新加密……是不是很像“把大象放进冰箱里”三个步骤?...上面通过与VBA强强联合,我们实现对ExcelPower Query引用加密Excel数据自动刷新,但是,Power BI里没有VBA哦,怎么办?

3.6K41

VBA专题10-15:使用VBA操控Excel界面之在功能区中添加自定义标签控件

excelperfect 如果要在功能区选项卡中添加标签,那么执行下面的步骤: 1. 创建新工作簿并保存为启用宏工作簿。 2. 关闭该工作簿,然后在CustomUI Editor中打开工作簿。...getLabel是一个回调属性,赋值VBA过程名称,本例中为getLabel1回调过程。该过程在首次打开工作簿时或者在使该控件无效时执行。...之后,要将其粘贴到工作簿VBA模块中。 7. 保存并关闭该文件。 8. 在Excel打开工作簿文件。...因为是第一次在Excel打开该文件,会得到关于getLabel1错误消息提示,因为在标准VBA模块中还没有getLabel1回调过程。此时,单击“确定”关闭错误消息。 9....注:如果你有兴趣,你可以到知识星球App完美Excel社群下载这本书完整中文版电子书。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

2.2K10

Make Excel Fly,python库xlwings使用

,如果为提示错误,则表示安装成功;使用xlwings.VERSION可以查看目前按照版本; 3、xlwings基本使用: 在xlwings中: Excel程序用App来表示,多个Excel程序集合用...Apps表示; App就是我们打开一个Excel应用,在此实例下创建工作薄。...因此我们要创建工作簿,就必须先创建App实例。一个App实例可以创建多个工作簿Book。...: 使用xlwings.App()打开Excel 使用app.books.add()添加一个工作簿 使用book.sheets.add()添加一个工作使用sheet.range('A1').value...="A"给指定单元格赋值 使用book.save('文件路径.xlsx')保存文件; def writeExcel(): #使用with打开excel,可以不关心关闭问题,参数标识操作可见

1.1K20

AutoHotkey 通过 COM 操作 Excel 文档

撒花赞一下 好了说正事 ##创建、连接和终止 Excel 实例 我们从最简单脚本开始介绍,这个脚本创建一个 Excel 实例,并向其中添加一个新工作簿: objExcel := ComObjCreate...前面的脚本是起了作用,您也确实创建了 Excel 实例如果您仍在怀疑,请打开任务管理器并查看其中进程,应该能在里面找到 Excel.exe 进程。...实例退出,只需简单执行 quit 命令: objExcel.Quit ##打开电子表格 我们已经会创建 Excel 实例,现在看看如何打开电子表格。...如果计算机中没有安装 Excel,那么脚本也不会起作用(如果您认为仅仅通过运行这个脚本就可以避免购买 Office,那么很抱歉,让您失望了)。 有没有打开电子表格其他编程方法?有。...##保存文件 直接保存到当前文件(注:如果是新建工作簿调用Save方法时会以创建时默认工作簿名称保存在用户文档目录下): objExcel.Workbook.Save() 另存为其他文件: objExcel.ActiveWorkbook.SaveAs

1.8K20

Excel编程周末速成班第26课:处理运行时错误

一个示例是Workbook对象,如果尝试打开磁盘上不存在工作簿,或者尝试将工作簿保存到不存在磁盘上,则Workbook对象会捕获错误并显示其自己对话框(如图26-2所示))。...忽略错误 ExcelSpecialCells方法使你能够获得对满足特定条件区域内单元格引用,例如包含公式单元格或包含批注单元格。如果找不到匹配单元格,则会产生错误。...作为示例,考虑以下代码: Dim wb As Workbook Set wb = Workbooks(“SalesData”) 如果打开名为SalesData工作簿,则此代码可以正常工作。...但是,如果没有打开,则会发生错误。程序可以在无法提前知道是否打开特定工作簿情况下使用此功能。清单26-3展示了一个函数,该函数在打开时返回对工作簿引用,或者在没有打开时返回Nothing。...如果此值为Nothing,则程序可以采取步骤打开工作簿

6.7K30

VBA对象模型和对象引用

用application对象即excel主程序打开一个workbook工作簿对象,一个空白工作簿通常默认有1个或3个worksheet普通工作表对象,我们在工作range单元格对象中输入内容。...从而对该对象进行操作,并以特定方式组织这些对象,使excel程序能根据需要自动完成工作任务。 ? 对 象 引 用 ? 学习对象模型主要是解决对象引用问题,而初学时不容易理解。...执行VBA代码时,如果当前打开运行就是工作簿对象工作.xlsx时。语句可以直接写成worksheets("表1").range("A1")。如果当前工作表对象“表1”是当前打开使用工作表。...2、不同对象单独表示方法 上面说明了引用对象格式,还需要解决问题是语句中对象如何表示。下面会先整体概述。 application是excel主程序,直接表示即可。...第二种语法为:对象集合(对象索引号) 对象索引号即对象在集合中顺序,这与对象名称无关,而是工作表排序和打开工作簿顺序。 ? 以工作表为例。

2.1K40

一起学Excel专业开发20:Excel工时报表与分析系统开发(3)——启动与关闭

例如,这里应用程序要求Excel最低版本为Excel 2000,故首先应该检查Excel版本,不允许使用Excel 2000以前版本用户能够打开应用程序。...因为用户没有办法告诉Excel这些设置是临时,只供本应用程序使用。 解决这类问题通用办法是,在应用程序启动时,保存Excel的当前设置,在关闭应用程序时再恢复这些设置。...关于VBA操作注册表基础知识可参阅《VBA专题07:使用VBA读写Windows注册表》。...4.设置Application.IgnoreRemoteRequests=True,这样在双击Excel工作簿图标时会打开一个新Excel进程实例,而不会重用原来进程实例。...5.关闭任务栏中窗口。因为可能会处理多个打开工作簿,此时不允许用户在这些工作簿之间进行跳转。 6.不允许定制命令栏。 7.针对Excel 2002及其以后版本关闭自动恢复功能。

1.4K20

VBA专题10-25:使用VBA操控Excel界面之一个示例程序

学习Excel技术,关注微信公众号: excelperfect 在前面的一系列主题中,你已经学到了很多小修改工作簿外观VBA代码。下面,我们将介绍一个简单示例程序,实现下面的功能特点: 1....当打开工作簿时, 1.1 激活特定工作表(名为Sample)。 1.2 开始3行被冻洁。 1.3一个特定行(行50)向上滚动并成为解冻窗格顶部行。...如果激活工作表是标准工作表,那么Custom选项卡是可见。 4....激活工作表Sheet1,选择一个单元格区域,在“名称”框中输入“Sheet1!MyRange”来命名为一个工作表级名称。 5. 关闭该工作簿,然后在Custom UIEditor中打开工作簿。...保存,关闭,然后在Excel中重新打开工作簿

2.2K10

VBA实战技巧32:安装Excel加载宏

Excel如何管理加载宏列表 在后台,Excel使用注册表和一个特殊文件夹来管理存在哪些加载项以及已安装了哪些加载项。...如何使用VBA来安装Excel加载宏 编写一些简单代码来启用加载项,弹出消息框如下图5所示。...最后一行关闭加载项打开所有工作簿。为什么?因为当没有活动工作簿时你无法打开加载项对话框,显然这也会阻止Excel通过VBA将新加载项添加到列表中。...下面是添加一个空工作簿并再次删除它代码: Option Private Module Dim moWB As Workbook Sub AddEmptyBook() '如果需要添加一个空工作簿....使用OnTime方法使Excel有时间在启动安装过程之前执行其所有启动一些工作: Private Sub Workbook_Open() Application.OnTimeNow, "'"

4.6K20

Workbook工作簿对象方法(一)

大家好,前面介绍了工作簿对象属性,本节开始介绍工作簿对象常用方法。这些常用方法可以实现平时用手工新建、打开、激活、保存excel表等功能。...2、参数字符串如果指定是已有的excel文件,那么新建文件会以该excel文件为模板创建新工作簿。新工作簿名在模板工作簿后面加有规律数字。...3、如果参数是指定常量,则可以用来创建指定格式excel文件。常量名称值对应格式如下表,了解下即可,平时通常使用工作表常量。...(此处用了with语句,可以方便增加其他属性更改。) 二、工作簿对象open方法 在使用EXCLE文件时,在VBA代码中打开工作簿是通过workbooks集合open方法。...1、参数FileName必需,指定一个字符串,代表要打开工作簿文件名。 2、参数UpdateLinks可选,指定文件中外部引用(链接)方式。如果忽略该参数,那么将提示用户指定如何更新链接。

5.9K40

Workbook工作簿对象方法(二)

三、工作簿对象activate方法 在使用时可打开多个excel工作簿文件,但只有一个excel文件是活动状态。...4、参数Password指定保存工作簿密码,区分大小写。 5、参数WriteResPassword指定工作簿写保护密码。如果使用密码保存工作簿并且在打开时未提供密码,则以只读方式打开工作簿。...五、工作簿对象close方法 关闭工作簿workbook对象使用close方法,如果是workbooks集合对象close则是关闭所有打开工作簿对象。...在关闭工作簿时,如果excel表有修改且没有保存,那么系统会在关闭前弹窗提示是否需要保存。如果不希望出现弹窗,可以通过设置close方法参数来修改。 下面看下close方法完整格式。...如果修改了工作簿,则使用此参数指定是否保存修改;如果参数值设置为True,则关闭时将保存修改,此时如果工作簿没有被命名,则使用参数Filename指定名称,若没有指定Filename参数,则要求用户输入文件名

4.4K20

VBA专题10-23:使用VBA操控Excel界面之添加动态菜单

学习Excel技术,关注微信公众号: excelperfect 在本系列后面的示例程序中,你将会看到如何使用项目和带图像库控件通过getItemLabel和getItemImage回调属性引用VBA...下面介绍一个简单使用动态菜单控件示例,在工作簿中为三个工作表(名为Data,Analysis,Reports)每个显示不同菜单。 1. 创建一个新工作簿,将其保存为启用宏工作簿。 2....接着,通过在使复选框无效前存储复选框状态Checkbox1Pressed变量重新赋值该复选框状态。 5. 保存,关闭,然后重新打开工作簿。...当VBE显示标准错误消息框(因为一个未处理运行时错误发生),可以单击消息框中结束按钮。 关闭该工作簿文件。 如果没有未处理错误,你可以只执行前两种方法,而用户可以仅执行最后一种方法。...如果要在用户关闭并重新打开该文件之后保留该复选框状态,那么可能要在隐藏工作表或者在Windows注册表中存储其状态。

6K20
领券