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

在加载宏及其源文件之间切换

标签:VBA,加载宏 在“.xlsm”文件及其转换为加载项文件“.xlam”之间来回切换并不是一件很容易事。...下面是www.wimgielis.com中提供一个示例,在Personal.xlsb(个人宏工作簿,还添加了五个过程在xlsm版本(主要用于开发)和xlam版本(主要用来测试和使用)之间切换: Addin_SAVE_AS...:卸载xlam版本,将打开xlsm版本 Addin_TOGGLE_VISIILITY:使xlam版本可见或不可见 可以在原网站搜索并下载示例代码工作簿。...也可以在完美Excel微信公众号中发送消息: 切换加载宏 获取示例代码工作簿下载链接。 或者,直接到知识星球App完美Excel社群中下载示例代码工作簿。...)都存储在加载宏默认文件夹

8110

Excel实战技巧:创建带有自定义功能区Excel加载宏

创建这个带有自定义功能区Excel加载宏将可以有任意工作簿中使用,下面我们详细讲解其创建过程。...第1 步:创建一个新工作簿,将其保存为启用宏工作簿(本示例使用名称MyCustomRibbon.xlsm)。 第2步:单击“文件——信息”,选择“属性——高级属性”,如下图1所示。...图1 在“属性”对话框,“标题”属性显示加载宏名称,“备注”属性显示加载宏详细说明,如下图2所示。 图2 第3步:添加宏。由于自定义功能区每个命令都需要有相应事件处理程序,而这需要宏来实现。...图7 在“加载宏”对话框,选择刚才创建“自定义界面加载宏”,如下图8所示。如果在“可用加载宏”列表没有出现自已创建加载宏,则单击“浏览”按钮,导航到加载宏所在文件夹,选择该加载宏即可。...图8 此时,在Excel工作簿功能区中出现了一个新选项卡,如下图9所示。单击选项卡组按钮,会调用相应宏显示信息。 图9 第7步:修改成中文。

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

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

然后,有两个关于插件文件存储位置检查。如果用户直接打开压缩文件(zip文件)下载,然后打开加载项,则xlam文件将存储在临时位置(如果安装了解压缩软件),或者位于名称包含.zip文件夹。...Excel可以打开此类文件,但无法安装zip文件夹加载项。并且压缩软件会在关闭后立即删除Temp该文件夹。然后,会在Excel得到一个指向已安装加载项指针,该加载项没有随附xlam文件。...Application.AddIns.Add(ThisWorkbook.FullName, False) oAddIn.Installed = True RemoveEmptyBooks 第一行代码确保在Excel至少打开一个工作簿窗口...最后一行关闭加载项打开所有工作簿。为什么?因为当没有活动工作簿时你无法打开加载项对话框,显然这也会阻止Excel通过VBA将新加载项添加到列表。...下面是添加一个空工作簿并再次删除它代码: Option Private Module Dim moWB As Workbook Sub AddEmptyBook() '如果需要添加一个空工作簿.

4.6K20

Excel文件常见格式及其作用

xls xlsx xlsb xlsm xltx xlam 1,2,3,4,5,6 一共6个格式 这就是我们今天要说六个Excel格式 xls 这是刚学习Office时候格式 那时候还是Excel...xlsb 关于这个格式 我们同样只需要知道 它可以保存Excel文件代码 但是文件体积比xlsm更小 至于功能上有没有其他影响还没有发现 如果你发现了 不妨和我分享一下 扩展一下 xltx...这个格式叫'模板'格式 双击这个格式文件 会自动新建一份该文件副本 并在保存时候另存为新文件 如果要编辑这个格式文件 得右键→打开 可以用在票据打印时候 xlam 这个格式叫'加载宏' 类似于我们常常见到各种...Excel工具箱或Excel内置数据分析等等 你也可以做一份自己常用功能文件保存为xlam文件 加载到自己电脑上Excel里 以后每次打开就有你独特功能了 总结一下 来个明细对比表 - xls...次方 16次方和20次方 顺带提一下常见一个错误提示 这种一般是因为你在两个工作簿之间全选复制粘贴 而这两个工作簿行列不同所导致 你只需要 1 只复制粘贴数据区域 2 将一个表另存为与另外一个表相同格式即可

1.9K20

Excel实用工具16:创建一个简易自定义功能区加载宏

Excel在定制方面无疑是出类拔萃,我们可以根据工作实际需要在Excel创建自定义加载项,让Excel更加满足我们独特需求,提高工作效率。...下面是thespreadsheetguru.com创建一个自定义功能区加载宏模板,可以方便地稍作修改,满足定制需求。如下图1所示,将其进行了汉化,这是初次打开该加载项工作簿界面。 ?...当然,“选项卡”、“组名”、“按钮”等自定义选项卡上名称都可以方便进行修改为自已实际名称,下面我们会逐一讲解。...你可以根据需要在代码窗口中修改上述6个过程代码,使自定义功能区满足自已需求。 在使该工作簿满足自已需要后,将该工作簿存储为加载宏(.xlam)文件。...这样,你就可以安装在自已Excel工作簿,或者分发给同事安装了。

1.8K30

方式二:Excel Addin_加载宏,自定义选项卡(自定义Excel菜单栏)

自定义选项卡,就像Excel自带选项卡一样;自定义选项卡有两种形式; 方式二: ?...优点:在任何工作簿都可以运行程序,而且不用担心,加载失败问题 方式二:直接架加载宏文件(xlam或者xla),然后在Excel设置里设置自定义菜单栏,选择相应宏即可!...方式二设置步骤: 1.先准备一个xlam宏文件(写一个简单示例代码); ? 2.另存为xlam或者xla(保存默认路径即可) ?...6.选择命令加载到新建组(这里我们选择宏,来加载我们刚刚写测试程序,注意:要加载我们保存到addin文件夹xlam文件程序) ? ?...7.点击添加后会看到新建选项卡里面已经加载了我们写程序 ? ? 8.点击即可运行 ? 谢谢关注与支持!!

6.7K20

Excel编程周末速成班第22课:使用事件

主要内容: Excel事件类别 编写事件处理程序代码 启用和禁用事件 工作簿工作表和应用程序事件 如何使用与对象无关事件 事件是Excel编程重要组成部分。...有三类事件事件始终是用户操作结果,例如单击用户窗体上控件或按某个键 用户操作或VBA代码可能引起事件,例如打开工作簿或激活图表 与用户操作无关事件,例如一天特定时间发生 总体而言,Excel...随后内容将提供了有关事件放置一些具体建议,这里是一些准则: 用户窗体(及其控件)事件过程应始终放在用户窗体模块本身工作簿工作表或图表事件过程应始终放置在与该工作簿关联工程。...下面是一个示例:将在工作簿添加新工作表时,将按以下顺序触发下列三个应用程序事件: 当添加新工作表时,将发生WorkbookNewSheet。...何时需要禁用事件?当事件过程代码直接或间接导致再次触发同一事件时。 下面是一个例子。 只要修改工作数据,就会触发Worksheet_Change事件

2.8K10

Excelize 发布 2.6.0 版本,功能强大 Excel 文档基础库

支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...#660, #764, #1093, #1112 和 #1133 新增 API: SetWorkbookPrOptions 和 GetWorkbookPrOptions 支持设置和获取工作簿 FilterPrivacy...与 CodeName 属性,以解除部分情况下向工作簿嵌入 VBA 工程时限制,相关 issue #1148 公式计算引擎支持中缀运算符后包含无参数公式函数计算 支持以文本形式读取布尔型单元格值...兼容性提升 提升与 LibreOffice 电子表格应用程序兼容性,修复在 LibreOffice 打开工作表名包含空格时,自动过滤器失效问题,解决 issue #1122 提升对工作簿替代内容支持...,保留工作簿工作表以及 drawingML 替代内容 提升与页面设置打印质量 DPI 设置属性兼容性 问题修复 修复另存为工作簿时,页面布局属性丢失问题,解决 issue #1117 修复部分情况下

1.5K61

Go-Excelize API源码阅读(十一)—— GetActiveSheetIndex()

,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源具体贡献与实践。...支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...ActiveTab在微软文档没有找到,猜测是活动视图队列工作表序号。...if len(wb.Sheets.Sheet) >= 1 { return wb.Sheets.Sheet[0].SheetID } 如果工作簿视图不存在,或者工作簿视图数量等于0,并且工作数量大于等于...,然后如果工作簿为空,就会导致sheetID := f.getActiveSheetID()获取工作表ID为0,所以会返回0。

63830

Excel VBA解读(144): 使用Application事件和缓存将更快地获取已使用单元格区域

学习Excel技术,关注微信公众号: excelperfect 在上一篇文章,建议加速检索已使用单元格区域最后一行方法之一是使用缓存和Application对象AfterCalculate事件。...首先声明一个包含1000行和2列模块级别数组(UsedRows)。每行将在第1列(工作簿名称和工作表名称)中保存一个键,并在第2列中保存该工作簿工作表已使用单元格区域中行数。...假设只缓存包含这些用户自定义函数前1000个工作表! 键或标签是通过将调用单元格名称(即工作表)与调用单元格名称名称(包含该工作工作簿)连接而创建。...需要在每次计算后清空缓存,因为用户可能会改变已使用单元格区域,因此安全做法是在每次计算时重新创建缓存。AfterCalculate是一个应用程序事件,在完成计算和相关查询和刷新后触发。...使用Application对象AfterCalculate事件 首先,添加了一个名为AppEvents类模块,代码如下: Private WithEvents App As Application

2.3K30

Excel事件(三)工作簿事件

二、工作簿事件分类 工作簿事件种类很多,但很大一部分事件很难用到,下面图表列出工作簿事件触发条件。可以收藏备查,根据需要来使用。...三、常见工作簿事件 1、open事件 打开工作簿时,将触发事件,此事件可以写入一些只需执行一次得代码。...二、从另一个工作簿切换到本工作簿时,也会触发事件。 (需要注意open事件和activate事件区别。...由于open事件可能被用户跳过,所以系统设置之类初始化代码建议方在工作簿activate事件。)举简单示例: 当该工作簿被激活时,就可以触发事件代码。...二、关闭工作簿时,在workbookbeforeclose事件之后触发。 一些恢复系统设置之类代码通常会放在deactivate事件

2K40

VBA专题10-8:使用VBA操控Excel界面之在功能区添加内置控件

创建新工作簿并保存为启用宏工作簿。 3. 关闭该工作簿,然后在CustomUI Editor打开该工作簿。 4....在CustomUI Editor,单击“插入”并选择“Office 2007 Custom UI Part”。之所以选择这个选项,是使工作簿与Excel 2007及以后版本兼容。...单击工具栏Validation按钮来检查是否有错误。 7. 保存并关闭文件。 8. 在Excel打开该工作簿文件。 下图展示在功能区“开始”选项卡出现了含两个内置控件名为Fav组。 ?...注意到,这是对特定文档进行功能区定制,即仅包含XML代码工作簿显示定制功能区,当关闭该工作簿时,自动移除功能区定制。...要在其他工作簿显示定制功能区,应将工作簿保存为加载宏(Excel加载宏(*.xlam)),并执行下列步骤在Excel启动时装载加载宏文件: 1.

5.9K30

Go-Excelize API源码阅读(十二)——SetSheetVisible(sheet string, visible bool)

,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源具体贡献与实践。...支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...一个工作簿至少包含一个可见工作表。如果给定工作表为默认工作表,则对其可见性设置无效。...,如果给改工作表设置为可见,那么遍历工作簿所有工作表,将我们要设置工作表找到,然后给它状态值State设置为空字符串。...,如果存在就获取其TabSelected状态,微软文档没有说明这个属性意义,猜想是判断这个工作表是不是默认工作表。

60720

Excel事件(四)事件顺序

工作簿事件顺序 操作工作簿时常用事件产生顺序如下: 1、workbook_open事件:打开工作簿时产生该事件 2、workbook_activate事件:打开工作簿时产生该事件。...工作事件顺序 工作事件不多,但操作工作表时也可能触发一些工作簿事件,下面会列出一些常用工作事件产生顺序 第一种情况:当修改单元格内容后,再改变活动单元格时事件产生顺序如下: worksheet_change...,形式如下: Application.EnableEvents = False 代码 Application.EnableEvents = True 在change事件很常见,目的就是防止过程代码在修改单元格值时第二次触发事件...在相应工作,当用户更改了单元格内容时,会第一次触发worksheet_change事件。 代码执行将单元格值改为“内容已经更改”和弹窗。由于代码更改了单元格内容。...所以正确使用方法,就是用户更改单元格触发worksheet_change事件时,在代码事件触发关闭。然后运行修改代码后,再恢复事件触发。代码就正常运行。

2.3K30

Go-Excelize API源码阅读(十八)——GetPageMargins、SetWorkbookPrOptions、GetWorkbookPrOptions

旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源具体贡献与实践。...支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...简单来说,就是读取工作PageMargins指针,然后将pm内值传递到opt指针,然后就能直接通过获取opt值来获取工作页边距。...= nil { fmt.Println(err) } 先介绍一下这三个参数含义: Date1904是一个用于WorkbookPrOption选项,它表明在将工作簿序列日期时间转换为日期时...设置和获取工作簿 FilterPrivacy 与 CodeName 属性,以解除部分情况下向工作簿嵌入 VBA 工程时限制 // SetWorkbookPrOptions provides a

25330

Go-Excelize API源码阅读(二十五)——GetSheetName、GetSheetIndex、GetSheetMap()

,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源具体贡献与实践。...支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...获取到索引可以在设置工作簿默认工作表时,作为调用 SetActiveSheet() 函数参数使用。...四、GetSheetMap() func (f *File) GetSheetMap() map[int]string 获取工作簿以 ID 和名称构成全部工作表、图表工作表和对话工作表映射表。...,然后将遍历工作簿所有工作表,将工作表对象sheetID为键,Name为值放入sheetMap,最后返回sheetMap即可。

33120

使用VBA加载宏小心 Workbook.FullName 属性

Workbook.FullName在VBA是一个非常常用属性,返回工作簿全路径,首先查看一下帮助文件: 返回对象名称(以字符串表示),包括其磁盘路径。String 型,只读。...再仔细一看,会发现故意将一些字母大小写替换了,文件能正确打开,但FullName返回字符串和原始字符串有差异了。...可以看到路径故意修改字符被保存在了FullName,但是文件名被还原回了磁盘上正确名称。...个人有这样一个使用习惯,由于需要使用VBA功能较多,将一些功能分类编写了不同宏文件,这些文件存放在同一个文件夹里,只设置加载一个加载宏。...如下图所示,修改了路径字母大小写,加载宏myVBA.xlam没有过滤掉: ?

1.4K40

Go-Excelize API源码阅读(二十)——SetDefinedName

,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源具体贡献与实践。...支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿...二、 SetDefinedName func (f *File) SetDefinedName(definedName *DefinedName) error 根据给定名称和引用区域设置名称,默认范围是工作簿...此元素定义此工作簿已定义名称集合。 定义名称是表示单元格、单元格区域、公式或常数值描述性名称。 定义名称可用于表示任何工作表上范围。...对遍历得到每一个DefinedName元素,我们命名为dn。 如果dnLocalSheetID不为空,就根据工作表ID获取其工作表名称。

30310
领券