-
2013-05-14 20:25:07
本文所述加载宏是指使用EXCEL VBA制作的加载宏,这类文件的后缀默认为xla,因此又称XLA加载宏。内容划分为五部分,第一部分为概述,简单介绍加载宏的一般知识;第二部分至第四部分介绍制作加载宏函数、过程和事件主要技巧;第五部分为制作加载宏的其它方面。
一、概述
1.制作加载宏的一般步骤
(1)创建一个新的工作薄,在其中添加代码。
(2)在“文件”菜单上单击“属性”。在“文件名 属性”对话框中,单击“摘要信息”选项卡,然后在“标题”框中为加载宏指定一个您希望在“加载宏”对话框中出现的名称,在“备注”框中输入您希望当用户从“加载宏”对话框选择该加载宏时在“加载宏”对话框下方出现的说明信息。
(3)在“文件”菜单上单击“另存为”。在“另存为”对话框中,从“保存类型”框中选择“Microsoft Office Excel 加载宏(*.xla)”,然后再选择保存路径,并可在“文件名”框中修改文件名。
2.加载宏的加载和卸载
通过在“工具”菜单上单击“加载宏”,可以加载制作好的加载宏文件,如果它不在列表中,可以在“加载宏”对话框中单击“浏览”找到它,当某个加载宏名称前的复选框被选中时,说明它已经加载,取消选中复选框即为卸载该加载宏。
3.加载宏的作用
加载宏可以扩展EXCEL的功能,将代码写在加载宏中和写在普通的工作簿中相比,有如下优点:
(1)加载宏对所有打开的EXCEL文件都生效。普通工作簿的代码一般只在特定的工作簿中才生效。
(2)加载宏不受宏安全级的限制,也不会有宏运行的提示。即使将安全级设为“非常高”,加载宏就象EXCEL本身固有的功能一样工作。同样,它也不会被按住的Shift屏蔽。
特别提请不习惯使用加载宏而专门VBA代码书写的朋友们注意的是,加载宏的所有好处和优点,都是属于EXCEL的常规操作者的,虽然加载宏中的代码可以被其他工作簿(中的代码)调用,但这样做是繁琐而低效的,千万不要把它当成了C中的“头”文件或链接库。也许不会有很多人这样认为,但笔者初学VBA的时候,真的这样天真过。
(3)加载宏在运行时其工作簿窗口是隐藏的,因此普通用户并不会感觉到它的存在。二、处理加载宏函数
加载宏函数似乎是制作加载宏中最简单的,通常它只需要在模块中写一段Function代码,它就会和EXCEL自身的函数一样使用,并且出现在“插入函数”对话框的列表中。关于函数的制作,再没有其它的吗?
1.为函数添加说明信息
至少你可以通过对象浏览器设置“属性”为函数添加一段说明信息(对需要换行的说明可以在编辑时使用组合键CTRL+ENTER),这些信息当用户使用“插入函数”对话框时就会看到。需要说明的是,在对象浏览器中为函数添加说明信息必须在“另存为”加载宏之前,一旦文件名的后缀变为了XLA,函数的属性设置将不被接受。
现在,请你新建一个工作簿,插入模块,粘贴下面的代码:Function dx(n)
\' by gly1126 金额小写转换为大写
dx = Replace(Application.Text(Round(n+0.00000001, 2), "[DBnum2]"), ".", "元")
dx = IIf(Left(Right(dx, 3), 1) = "元", Left(dx, Len(dx) - 1) & "角" & Right(dx, 1) & "分", IIf(Left(Right(dx, 2), 1) = "元", dx & "角整", IIf(dx = "零", "", dx & "元整")))
dx = Replace(Replace(Replace(Replace(dx, "零元零角", ""), "零元", ""), "零角", "零"), "-", "负")
End Function如果觉得必要,你可以设置文件属性(见一、1.(2))并为该函数添加说明,先把它做为普通的工作簿保存(我们后面还会继续用它)再另存为XLA,然后感受一下它的效果吧。
对已经成为XLA文件的函数说明的添加及修改并不需要总是手工先还原为XLS文件,我们稍后就会提到MacroOptions方法。在此之前,先来说一下与加载宏相关的Workbook事件:
(1)AddinInstall和AddinUninstall。这两个事件分别发生在加载宏加载和卸载时的,因此使用这两个事件的工作簿一定是XLA工作簿,你需要记住的是,它们在加载宏作用期内各自只会发生一次,加载宏加载后每次EXCEL的打开和关闭都不会触发它们。
(2)Open和BeforeClose。和上两个事件不同,这两个事件在加载宏作用期内会被多次触发,除了分别发生在AddinInstall后和AddinUninstall前之外,每次打开和关闭EXCEL时都会触发它们。
清楚了上述特性,你就应该知道如何合理安排加载宏的初始化代码。
2.为函数分类
默认情况下,当用户使用“插入函数”时,加载宏函数会被分类放在“用户定义”类别中。
哦,没有个性!有的朋友甚至还会有被歧视的感觉呢,怎样才能和EXCEL自身的函数一样被放在“财务”类呢?我们会想到MacroOptions方法:
Application.MacroOptions Macro:="dx", Category:=1
不熟悉这个方法不要紧,看完后面的例子你再去查看一下它的帮助,很快就会掌握的。
现在的问题,上面的语句放在哪儿呢?首先把它放在AddinInstall事件中看看,你会发现,在第一次加载时,目的确实达到了,但当你关闭EXCEL重新打开时,却发现它又回到了“用户定义”中,看来需要放在Open事件中:
Private Sub Workbook_Open()
ThisWorkbook.IsAddin = False
Application.MacroOptions Macro:="dx", Category:=1
ThisWorkbook.IsAddin = True
ThisWorkbook.Saved = True
End Sub
你会发现,除了我们需要的,又增加了3条语句,这是因为加载宏文件与普通EXCEL文件除了后缀形式上的区别外,一个重要的内在区别就是IsAddin属性,该属性为True 说明是加载宏工作簿,MacroOptions方法对宏的设置不能在隐藏的工作簿中进行,需要先将还原为普通工作簿,加入宏设置后再改回。这两次改变不会触发AddinInstall和AddinUninstall事件,但EXCEL会记住普通EXCEL文件的修改,因此在完成设置后,还需要加一句ThisWorkbook.Saved = True以使EXCEL忘记这种改变。
下面列出了EXCEL内部分类对应的Category参数的整数。
1:财务 2:日期与时间 3:数学与三角函数
4:统计 5:查找与引用 6:数据库
7:文本 8:逻辑 9:信息
如果你不想记住这些整数的含义,你可以直接写成:
Application.MacroOptions Macro:="dx", Category:= "财务"
那么是否可以为加载宏函数增加一个新类别呢?很简单!只需要将上面的Category参数改变一下就可以了:
Application.MacroOptions Macro:="dx", Category:= "财务扩展函数"
上句会在“插入函数”对话框中增加一个新类别“财务扩展函数”,并把dx函数放入其中。
MacroOptions方法还有其它一些参数,可以帮助我们,包括为函数添加说明,下面语句在分类的同时会为函数增加说明。
Application.MacroOptions Macro:="dx", Description:="金额小写转换为大写" & vbCr & "参数N:要转换的金额。", Category:="财务扩展函数"
让我们再次回到Open事件中,看看这3句代码:
ThisWorkbook.IsAddin = False
ThisWorkbook.IsAddin = True
ThisWorkbook.Saved = True
在加载宏文件中使用类似在无耐情况下才采用的变通代码,达到的目的仅仅是一般人并不注意的函数分类,我想我已经把你引入歧途,真的很抱歉。我该如何纠正呢?
我无意保留一个没有多大实用价值的技巧,我更希望由你说出来……
(我会等你一个礼拜)呵呵,也不能全怪我,因为几乎所有的公开的资料都是这样介绍的,事实上,实现函数的说明和分类根本用不着明示的代码,这意味着在open事件中使用MacroOptions根本就是多余的。因为EXCEL会记录并保存MacroOptions的操作,你只需在设计阶段,在立即窗口,执行需要的MacroOptions操作,或者写一段MacroOptions操作代码,然后再删除它就可以了。要记住的是,执行后一定别忘了在VBE中点击保存。结果竟然如此简单!请参考我在后面给你提供的附件实例。
3.函数规范
有些朋友认为:Function和Sub的区别仅仅在于是否有返回值,在Sub中使用的代码同样可以在Function中使用。这种认识最多对了一半。是的,对于在代码中调用的Function和Sub,除了“返回值”,它们几乎没有区别,但是,全局宏的函数是准备给用户在工作表中使用,象我们前面的做的函数,用户在使用时,通常会在工作表的B2单元格中输入“=dx(A1)”,如果一个函数是为工作表准备的,代码就要受到限制。先来看一个错误的函数:
Function TTT(rg As Range) As String
rg.Value = rg.Value + 1
TTT = rg.Value
End Function
上面的函数试图将参数区域的值先加1,然后返回其值。如果你在代码中使用
N=TTT([a1])
不会有任何问题,现在,你在A2单元格输入公式“=ttt(A1)”看看。
限于篇幅,本文不再探讨理论问题,而是直接给出这些应该注意的结论:
(1)严格遵循“黑匣子”理论,不要试图去改变外部对象的属性,包括参数对象,即使它们是传址方式的。对外部对象值的改变,会导致函数的结果错误,如你在上面看到的“#VALUE!”,其它属性的改变,通常会被忽略。
(2)不要使用Volatile 方法,除非你要构建的函数确实是象RAND类型的易失性函数。在函数中加入:
Application.Volatile
会告诉系统该函数是易失性函数,则当工作表的任何区域发生改变时,该函数都会被重算。这将严重影响系统的效率。要做到这一点,应当将所有影响函数值变动的区域都作为参数,即使某些区域是固定的也要作为参数传递。
(3)函数中可以使用可选参数,但可选参数应避免为Range类型。因为使用Range类型的可选参数,将不可避免地使用Application.Volatile。三、处理加载宏过程
加载宏的另一个重用功能就是提供扩展的操作,这通常是写在模块中的Sub过程。设计加载宏过程应注意两个方面,一是代码实体,二是提供适当的接口方式以便用户可以使用这些操作。
在代码实体的设计上,加载宏代码与其它VBA代码看上去也许没有太多的差别,但它要求设计者更为密切地注意加载宏的运行环境,对象成员的使用也更应规范和严谨。比如,喜欢混用ThisWorkbook和ActiveWorkbook的朋友要好好看看帮助文档中二者的差别了。
现在请在模块中粘贴下面的代码:
Sub HVCenter()
\' 这段代码的含义很简单,让选定区域文字水平垂直居中
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub
在接口处理上,一般有3种处理方式。
1.快捷键
为过程设置快捷键可以在另存为加载宏文件前在“工具”菜单上单击“宏”-“宏”,在“宏”对话框中,单击“选项”按钮完成。也可使用前面介绍过的MacroOptions方法设置。
Application.MacroOptions Macro:="", HasShortcutKey:=True, ShortcutKey:="A"
2.菜单
通过在系统菜单上增加菜单项可以将操作提供给使用者,加载宏是对EXCEL基本功能的扩充,一般不提倡使用自定义菜单来代替系统菜单。
3.工具栏
可以使用EXCEL现有的工具栏上增加按钮也可以通过新建工具栏来完成。下面代码将前面的过程关联到新建的菜单项和工具栏上。
Private Sub Workbook_AddinInstall()
On Error Resume Next
\'新建菜单
With Application.CommandBars(1).Controls.Add(Type:=msoControlPopup)
.Caption = "测试(&T)"
With .Controls.Add(Type:=msoControlButton)
.Caption = "居中"
.OnAction = "HVCenter"
End With
End With
\'新建工具栏
With Application.CommandBars.Add(Name:="myCmdbar")
.Position = msoBarTop
With .Controls.Add
.FaceId = 352
.Caption = "居中"
.OnAction = "HVCenter"
End With
.Visible = True
End With
End Sub由于工具栏和菜单生成后不会随EXCEL的关闭而消失,因此创建工具栏和菜单的代码一般应写在AddinInstall事件中,并且在加载宏卸载时随之卸载。下面代码卸载前面创建的工具栏和菜单。
Private Sub Workbook_AddinUninstall()
On Error Resume Next
Dim ctl As CommandBarControl
\'卸载工具栏和菜单
Application.CommandBars("myCmdbar").Delete
For Each ctl In Application.CommandBars(1).Controls
If ctl.Caption = "测试(&T)" Then ctl.Delete
Next ctl
End Sub
四、处理加载宏事件
原则上讲,加载宏事件应对所有打开工作簿发生的事件进行处理。加载宏事件的设计相对函数和过程的设计而言通常要复杂得多,它要求设计者具有一定的类知识和良好的代码组织能力。具体设计主要应解决两方面问题,一是事件代码本身,二是将预作的“事件代码”和对象关联。我们仍通过实例,继续前面的设计来介绍。
任务:让加载宏实现当用户在活动工作簿的活动工作表选择某一区域时,状态栏显示该区域的范围。
1.设计事件代码
(1)分析要用的对象和事件
不难知道,本例需要Workbook对象的SheetSelectionChange的事件。首先使用WithEvents关键字定义一个Workbook对象。
Dim WithEvents wkb As Workbook
注意,WithEvents关键字不能在标准模块中使用,因此,代码一般写在Thisworkbook中。
(2)书写事件代码
Private Sub wkb_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.StatusBar = "你选择的区域:" & Replace(Target.Address, "$", "")
End Sub
2.关联对象
(1)分析需要关联的所有情况
写好了上面的代码,如何将它与活动工作簿关联呢?首先应该分析可能进行关联的时机。以本例,大体我们将需要(改变)关联,即活动工作簿发生变化的情况列示如下:
a.当新建工作簿时,关联对象为新建的工作簿
b.当新打开工作簿时,关联对象为新打开工作簿
c.当在两个工作簿之间切换时,关联对象为新切换到的工作簿
(2)完成关联代码
上面的分析知道,需要用到Application级的事件。定义Application对象,写入相应的事件,然后在Open事件中将它关联到当前的Application即可。汇合前面的代码如下:
Dim WithEvents app As Application
Dim WithEvents wkb As WorkbookPrivate Sub app_NewWorkbook(ByVal Wb As Workbook)
Set wkb = Wb
End SubPrivate Sub app_WorkbookOpen(ByVal Wb As Workbook)
Set wkb = Wb
End SubPrivate Sub app_WorkbookActivate(ByVal Wb As Workbook)
Set wkb = Wb
End SubPrivate Sub wkb_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.StatusBar = "你选择的区域:" & Replace(Target.Address, "$", "")
End SubPrivate Sub Workbook_Open()
\'关联到Application
Set app = Application
End Sub
还有一个问题,上面处理的都是加载宏加载后的关联,当加载宏加载时,调用加载宏的工作簿呢?你是否认为可以在上面的Open事件中加入:
Set wkb = ActiveWorkbook
就可以了呢?答案是否定的。正确的做法是使用属性过程和Auto_Open,首先在ThisWorkbook中加入下面的属性过程:
Property Let ActiveWkb(ByVal wk As Workbook)
Set wkb = wk
End Property
然后再在模块代码中加入Auto_Open过程:
Private Sub Auto_Open()
ThisWorkbook.ActiveWkb = ActiveWorkbook
End Sub
我把这个放在最后,目的是提请你注意Open和Auto_Open的区别。
五、加载宏制作的其它技巧
1.静态和动态数据
我们一直没有提到加载宏的工作表,它们可用来做什么呢?利用加载宏的工作表隐藏而具有良好的保护性,它们可以用来存储“系统”使用的大量数据(包括格式),从而实现所谓代码和数据的分离,使代码更清晰简洁。这些数据是静态的,在运行过程中允许加载宏中使用代码对它们进行修改(包括增删工作表),从而实现动态数据的要求。然而,这些修改在EXCEL关闭的时候,不会象普通文件那样给出类似“加载宏文件已经修改,是否保存?”之类的提示,当你下次打开EXCEL时,加载宏工作表仍然会回到它最初的样子。呵呵,是不是有点象“模板”啊?只有一种情况例外,就是在加载宏中使用了明示的保存代码如Thisworkbook.Save。
2.加载宏的调试
当加载宏文件需要修改的时候,有些朋友习惯于先关闭所有的EXCEL文件,然后单独打开加载宏文件进行修改。其实是不必要的,加载宏可以在加载的状态下调试并且进行修改,必要时可以先将它的IsAddin属性设置为False(调试结束记得改回去),完成后在VBE中点击“保存”(注意不能在主界面下保存)。
3.使用窗体
加载宏可以使用窗体为用户提供友好的界面。其设计和普通工作簿没有什么区别,不再赘述。
更多相关内容 -
VBA学习笔记五---如何将宏代码进行共享(加载宏)
2020-08-04 16:12:46如何设置加载宏思考 1、 写好需要普遍使用的代码(这里假设1.xlsx为开发文件,代码比较简单) 2、 新建一个excel文件夹,将其命名为“sampson的代码库”,将上述代码复制到该文件的模块内。 3、 点击 文件>>...如何设置加载宏
1、 写好需要普遍使用的代码(这里假设1.xlsx为开发文件,代码比较简单)
2、 新建一个excel文件夹,将其命名为“sampson的代码库”,将上述代码复制到该文件的模块内。
3、 点击 文件>>另存为>>保存类型中选择xlam类型
4、 将上述代码加入加载宏中,点击开发工具>>excel加载项>>选择“sampson的代码库”>>点击确定;此时d在打开本电脑中任意的excel表后,均可以看到上述代码。d
5、 为上述代码添加按钮,用于快速执行加载宏。此时需要新建一个excel表,否则会出现下面的情况,一个为本地的,一个为加载宏的,无法确定那个是
6、 新建一个excel表,点击文件>>选项>>快速访问工具栏>>在左侧下拉框中选择宏>>选择所写代码名>>点击添加
7、 点击修改便可以设置个人专属按钮
8、 点击确定后,便可以在excel表的左上角看到自己设置的按钮,点击此按钮便可以在该文件内执行上述代码
思考
为什么将代码1换成代码2后,点击按钮无法执行?
代码1:Sheet1.Range("a" & i) = i 代码2:ActiveSheet.Range("a" & i) = i
-
宏文件下载_SolidWorks模型英文特征改中文名字方法分享SolidWorks宏文件
2020-11-21 07:52:55今天溪风发现了一个超级好用的SolidWorks宏命令文件,分享给大家使用,那就是SolidWorks模型的英文特征修改为中文特征的方法,批量修改全部特征,太棒了!也许这样说你可能不理解,那我这么表达你一定就会想要得到这...今天溪风发现了一个超级好用的SolidWorks宏命令文件,分享给大家使用,那就是SolidWorks模型的英文特征修改为中文特征的方法,批量修改全部特征,太棒了!
也许这样说你可能不理解,那我这么表达你一定就会想要得到这个工具文件的冲动啦,那就是我们有时候在于外国客户交流或者下载国外图纸的时候,我们的SolidWorks打开后发现是英文的特征,然后我们有很想看懂他的建模顺序特征,所以这个SolidWorks宏文件就派上用场了,一起来看:
1、这里给大家一个测试SolidWorks模型,然后下载宏命令即可使用,下载打开模型(2016版)文件:
测试文件.zip
2、然后我们在文章的底部登陆账号,下载SolidWorks英文特征改中文的宏文件,并进行解压,然后我们点击SolidWorks-工具-宏-运行,然后选择我们刚才解压的宏文件:
3、然后我们的软件自动加载宏命令,几秒之后,奇迹就出现啦:
是不是一个很好的体验呢?这里感谢宏命令的创作者:pyczt,真是一个了不起的SolidWorks工程师,为我们浏览国外英文图纸模型提供了很大的帮助。
同时该宏文件还配有excel中英命令对照表文件,方便我们去拓展宏命令,翻译更多的英文特征转成中文:
如果你想拓展宏命令,非常的简单,打开SolidWorks,工具-宏-编辑宏,选择下载的宏文件就可以直接增加特征,然后保存即可》
重点来了!
重点来了!!
这么好的SolidWorks宏文件当然要共享,下面溪风奉上SolidWorks模型英文特征改中文名字的宏文件下载地址,大家登陆自己的账号下载吧↓↓
SolidWorks模型英文特征改中文名字的宏文件下载地址:点击了解更多
-
加载宏(Addin)使用方法
2013-05-06 10:18:53Office VBA Addin加载宏是一种使用VBA编写...在Excel、PPT中都可以编制加载宏文件,Word则可以通过模板文件进行加载。根据版本和程序的不同,加载宏的文件类型也稍有区别,在2003版本中,Excel的加载宏扩展名是xla、PPOffice VBA Addin加载宏是一种使用VBA编写的程序,它通过加载设置,可以随Office程序启动而自动加载运行,是制作Excel自定义函数、Office菜单和功能区按钮、添加常用辅助功能的常用载体。
在Excel、PPT中都可以编制加载宏文件,Word则可以通过模板文件进行加载。根据版本和程序的不同,加载宏的文件类型也稍有区别,在2003版本中,Excel的加载宏扩展名是xla、PPT的加载宏扩展名是ppa;2007/2010版本中,Excel的加载宏扩展名是xlam,PPT的加载宏扩展名是ppam。其中低版本的加载宏可以在高版本的程序中使用,因此,只要代码具有通用性,可以在编制完成保存为低版本的加载宏文件,以便于在不同版本中使用。
它们的文件图标有别于普通的Excel或PPT文件,如下图所示:
加载宏文件有默认的存放路径,找到这个路径很容易,只要打开PPT程序,点击【另存为】命令,在打开的对话框中选择文件类型为【PPT Addin】或【PPT加载宏】,对话框就会自动定位到默认的存放路径下,如下图所示。把加载宏文件存放到这个路径中(可以在对话框中的地址栏中复制这个路径,然后在浏览器中打开),然后参照后面的操作就可以使用加载宏程序了。
首先,确保你的程序中的“宏”的安全性级别在中级或中级以下,有关宏的安全性设置可参考:
http://blog.sina.com.cn/s/blog_82955eae0100th9j.html
安全性级别设置在要求范围内之后,加载宏的具体加载方法如下:
以PPT2010程序为例,加载的方法如下:
依次点击【文件】(2007版中点击【Office按钮】)——【选项】——【加载宏】——右下角【管理】下拉列表中选择【PowerPoint加载项】——点击【转到】——在打开的【加载宏】对话框中勾选列表中出现的加载宏文件——点击【关闭】完成。如下图所示。如果你添加了正确的加载宏文件,但是下图中编号6所在的【可用加载宏】列表框中仍无显示,最可能的原因是宏的安全性级别过高,务必设置为中级或中级以下方可。
上述加载操作完成后,在PPT的功能区中点击【加载项】选项卡,就会在功能区面板上显示加载宏所生成的菜单,点击菜单就可以运行相应程序,如下图所示。
如果您的功能区中没有显示“加载项”这个选项卡,是由于Office选项当中没有打开。可以从【文件】(2007中为【Office按钮】)——【选项】——【自定义功能】中勾选这个选项卡,选项卡名称通常为“加载项”,也有可能是“Addins”。如下图所示:
2007版本和2010版本操作基本相同。在2003版本中操作方法更简单:在菜单栏上依次单击【工具】——【加载宏】——在出现的【加载宏】对话框中勾选列表中出现的加载宏文件——点击【关闭】完成。如下图所示。如果你添加了正确的加载宏文件,但是下图中【可用加载宏】列表框中仍无显示,最可能的原因是宏的安全性级别过高,务必设置为中级或中级以下方可。
加载操作完成后,也会在PPT的菜单栏上生成菜单,如下图所示:
上述操作一次性完成后无需再次操作,程序每次打开时会自动进行加载,每次打开程序都能直接使用加载宏所生成的菜单,十分方便。如果要卸载,也只需要在【加载宏】对话框中取消勾选相应的加载宏文件即可。
目前在我博客中发布过的几个加载宏:
Excel加载宏:http://blog.sina.com.cn/s/blog_82955eae0100tj92.html
PPT加载宏:http://blog.sina.com.cn/s/blog_82955eae0100wk7r.html
Word加载宏:http://blog.sina.com.cn/s/blog_82955eae0100tjp1.html
-
PPT加载宏运行教程——实现更新图片链接、另存、断开链接等功能
2020-09-17 11:23:05花了几个小时,终于找到守柔同学经年老贴:在菜单栏增加自定义按钮以触发运行加载宏 另外,对自定义按钮图标FaceID感兴趣的同学可以自行生成所有编号的图标,以便选择自己喜欢的样式:遍历并生成FaceID PPT2013双击... -
vba自定义函数,设置加载宏,建立自己的excel函数库,代码库
2020-07-16 17:14:09第二步:打开一个.xlsx文件,点击开发工具下面的加载项,勾选你的代码库 第三步:在选项-》快速访问工具栏中选择宏,选择需要执行的宏操作 还可以修改名称和图标: 然后你的excel就高人一等了。别人都没有,就我有... -
ARM之一 分散加载文件(scatter)详述
2021-02-24 13:25:17为了充分理解分散加载文件的魅力,必须对工程编译后的内容有详细的了解。 编译后的内容如下所示: 1)Code:为程序代码部分; 2)RO-Data:表示程序定义的常量及 const 型数据; 3)RW-Data:... -
IMXRT 分散加载文件 修改OCRAM,DTCM、ITCM大小
2020-06-01 20:30:53第十四章 分散加载 MXRT1052/1064芯片的RAM空间分为四种类型:ITCM,DTCM,OCRAM以及外部SDRAM,其中前面三个属于芯片内部RAM,RT1052有512KB,RT1064为1MB,支持用户静态分配,SDRAM属于外置RAM,最大支持到1.5G... -
[系统安全] 十六.PE文件逆向基础知识(PE解析、PE编辑工具和PE修改)
2021-01-25 21:31:43二.PE文件格式解析 该部分实验内容: 使用010Editor观察PE文件例子程序hello-2.5.exe的16进制数据 使用Ollydbg对该程序进行初步调试,了解该程序功能结构,在内存中观察该程序的完整结构 使用010Editor修改该程序,... -
SourceInsight 4.0 之三 常用宏使用、编辑、修改详解(附最新完善版本的宏)
2018-11-23 10:28:34简介 SourceInsight 作为一款经典的代码查看工具,小巧、强大,各种代码通吃!从2018年开始,更新到了4.x... SourceInsight 3.5也好,还是最新的4.x版本,都支持强大的宏编制。官网给出了不少例子:https://w... -
source insight4.0加载文件目录
2020-06-04 15:41:46用惯了VS20XX,突然用这个有点心情复杂。... 接着选择【Add Tree】,将树状文件结构加载进来,选择之后点Close,这时候在界面上就能看到文件结构了 2、Project -> Rebuild Project 将各种宏定义啥的做个解析,... -
使用VB6创建COM加载宏
2011-07-17 22:00:15使用VB6创建COM加载宏 摘要:本文通过示例详细描述了如何使用VB6创建COM加载宏的过程,以及如何在Excel中加载和使用。 创建一个COM加载宏的步骤 1、打开VB6应用程序,在“新建工程”中选择“外接程序”,打开新... -
wps中vbe6ext.olb不能被加载问题(附WPS2019宏下载)
2021-12-07 14:53:10卸载Office后,运行宏时出现vbe6ext.olb不能被加载。 分析 推测为卸载office时删除了注册表或者某些文件 尝试解决方法 1.软件自行修复 调整兼容性 自动修复 自动修改注册表 无果 2.重装WPS 多次重启、重装均... -
sct文件编写与使用
2019-12-08 16:14:541. 分散加载文件浅释.pdf。(周立功工程技术笔记) 1. DUI0377G_02_mdk_armlink_user_guide.pdf(在keil的帮助文档中可以找到) 我们都知道,编译器在生成可执行文件时,先将每个.c文件编译成.o文件(此过程叫编译),然后... -
IDEA-jetty热加载(类文件和静态资源)
2018-05-02 15:54:21一、场景: 1、实际项目开发、调试阶段,重新打包部署影响效率,热部署、热加载可以提高效率; 2、IDEA在running/debugging状态下没有自动编译的选项;二、Jetty的maven插件:<!-- jetty插件 --> &... -
宏病毒怎么清除
2021-06-19 08:02:17篇一:清除APMP宏病毒最简单的方法清除APMP宏病毒最简单的方法1、打开word,如果弹出以下窗口一次或者两次,说明word模版已经感染了这种病毒,需要清理,请往下继续看。2、按住快捷键 Alt + F11 打开宏设计窗口,如下... -
windows PE文件结构及其加载机制
2016-04-29 15:00:501. 概述PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。它是1993年Windows NT... -
uboot设置nfs参数——linux kernel使用nfs方式加载根文件系统rootfs(六)
2019-04-12 20:54:33最近一段时间研究了关于linux kernel使用nfs方式加载根文件系统rootfs,这种方式的可以在进行调试阶段不至于每次进行擦除、烧录步骤,在根文件系统比较大的情况可以节约时间。当然,研究这个最主要的原因还是想了解... -
手动加载DLL(PE文件)
2017-04-30 21:28:00以前学重载内核时学到了手动加载一个PE文件,想在Ring3层也实现一遍,不过在GitHub上看到有现成的源码了就不自己写了。本篇文章就分析一下这个mmLoader,看看怎么实现手动加载PE文件 -
[网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
2020-03-25 21:11:33前文分享了数字签名,采用Signtool工具对EXE文件进行签名,接着利用Asn1View、PEVie、010Editor等工具进行数据提取和分析。本文将详细介绍PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等,这也为... -
利用DOCX文档远程模板注入执行宏代码
2020-04-03 11:26:53利用DOCX文档远程模板注入执行宏代码 简介 本地文件中在没有宏代码...本实验将实现通过远程加载执行宏代码的攻击方式。 应用场景 该种攻击方式与传统的宏启用文档相比,这种攻击的好处是多方面的。在对目标执行网络... -
个人宏工作簿PERSONAL.XLSB 保存位置 启动加载项
2017-08-01 20:57:38个人宏工作簿 启动加载项 -
wps excel宏被禁用如何启用 - 卡饭网
2020-12-21 09:48:59Excel宏被禁用怎么办?Excel宏被禁用怎么办? 看到excel提示宏已被禁用,大家会不会觉得很心塞呢?下面小编就来教大家如何解决宏被禁用的问题啦,想要你的excel宏不被禁用就来看看吧。 Excel宏已被禁用解决方法: 单击... -
excel 自定义宏所有excel可用
2018-11-06 15:27:03通过加载宏的方法可以实现此功能 1.另存为加载宏格式 使用加载宏 选择excel选项 点击转到 最后点击确定即可 -
动态so库修改方法
2020-06-01 15:48:54 对于linux和Android开发者,有时可能需要查看或者修改.so文件,下面来讲述如何查看或者修改so文件。 1、本文使用的工具 IDA Pro: https://www.52pojie.cn/thread-675251-1-1.html 010 Editor:... -
微软office Excel 2013 2016 如何启用宏功能的图文教程
2021-12-17 19:59:04因为一些黑客也可以通过宏程序向计算机植入病毒,所以大家在使用网上的宏功能时,一定要确认是安全认证的,否则很容易中毒,一般Excel程序默认是禁用宏这个扩展功能的,导致很多人在使用带宏Excel文件时遇到无法使用... -
catia怎么批量改名-catia利用宏批量改名的方法 - 河东软件园
2020-12-19 02:03:13CATIA是达索旗下非常有名的一款软件,这款软件...熟悉了CATIA的用户会使用宏命令来批量修改模型的名称,但是很多的新手用户对于这样的情况还是束手无策。下面是小编给大家准备的宏命令修改名称的教程,若是不知道... -
创建DLL文件 以及 动态加载和静态加载 以及两者之间的区别
2015-12-11 18:25:40:一类特殊的可重定位目标文件,可以在链接(静态共享库)时加入目标文件或加载时或运行时(动态共享库)被动态的加载到内存并执行; 可执行(Executable)文件 :由链接器生成,可以直接通过加载器加载到内存中充当进程... -
CentOS7修改单个进程可打开的最大文件句柄数
2017-11-08 18:38:16对于“linux修改单个进程可打开的最大文件句柄数”,在网上搜索了很多教程,基本都说得不全或者已经过时了,经过亲自试验,修改成功,现总结如下: 1./etc/security/limits.conf中指定的nofile的值,nofile有上限,... -
修改文件日期VBA程序
2006-03-16 00:00:00此工具是Excel97/2000中文版VBA程序。极力推荐给编程工作者。 它可以批量指定文件,并记录到当前工作表,可一次性修改这些文件的日期。...您也可以根据需要,转换为Excel97/2000加载宏程序。 -石化造价网-