宏的编写

宏的编写
宏的编写

在介绍学习VBA之前,应该花几分钟录制一个宏。

新术语:“宏”,指一系列EXCEL能够执行的VBA语句。

以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤:

1)打开新工作簿,确认其他工作簿已经关闭。

2)选择A1单元格。

调出“常用”工具栏。

3)选择“工具”—“宏”—“录制新宏”。

4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。

★宏名最多可为255个字符,并且必须以字母开始。

其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。

5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。

6)单击“停止录制”工具栏按钮,结束宏录制过程。

※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。

录制完一个宏后就可以执行它了。

1。4 执行宏

当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使

用EXCEL标准命令所无法实现的功能。

而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行:1)选择任何一个单元格,比如A3。

2)选择“工具”—“宏”—“宏”,显示“宏”对话框。

3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。

试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。

1。5 查看录制的代码

到底是什么在控制EXCEL的运行呢?你可能有些疑惑。好,让我们看看VBA的语句吧。

1)选择“工具”—“宏”—“宏”,显示“宏”对话框。

2)单击列表中的“改变颜色”,选择“编辑”按钮。

此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)

Sub 改变颜色()

'

' 改变颜色Macro

' xw 记录的宏2000-6-10

'

'

With Selection。

Interior

。ColorIndex = 3

。Pattern = xlSolid

。PatternColorIndex = xlAutomatic

End With

End Sub

将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。

学习VBA或编程语言在某种程度上比较像在学习一种外语。

Sub 改变颜色():这是宏的名称。

中间的以“'”开头的五行称为“注释”,它在录制宏时自动产生。

以With 开头到End With 结束的结构是With结构语句,这段语句是宏的主要部分。

注意单词“selection”,它代表“突出显示的区域”(即:选定区域)。Wit h Selection。Interior :它读作“选择区域的的内部”。这整段语句设置该区域内部的一些“属性”。

其中:

。ColorIndex = 3: 将该内部设为红色。

注意:有一小圆点,它的作用在于简化语句,小圆点代替出现在With后的词,它是With结构的一部分。另外:红色被数字化为3。(红色警戒是否可称作:3号警戒,嗯?)有兴趣的话,你将3改为其他数字试试看。

。Pattern = xlSolid:设置该区域的内部图案。

由于是录制宏,所以,虽然你并未设置这一项,宏仍然将其记录下来(因为在“图案”选项中有此一项,只是你为曾设置而已)。xlSolid表示纯色。

。PatternColorIndex = xlAutomatic:表示内部图案底纹颜色为自动配色。

End With:结束With 语句。

End Sub:整个宏的结束语

1。6 编辑录制的代码

在上一节,我们录制了一个宏并查看了代码,代码中有两句实际上并不起作用。哪两句?现在,在宏中作一个修改,删除多余行,直到和下面代码相同:

Sub 改变颜色()

'

' 改变颜色Macro

' xw 记录的宏2000-6-10

'

'

With Selection。

Interior

。ColorIndex = 3

End With

End Sub

完成后,在工作表中试验一下。你会发现结果和修改前的状况一样。在With 语句前加入一行:

Range("A5")。Select

试着运行该宏,则无论开始选择哪个单元格,宏运行结果都是使A5单元格变红。

现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:希望增加宏的功能。比如:加入判断或循环等无法录制的语句。

1。7 录制宏的局限性

希望自动化的许多EXCEL过程大多都可以用录制宏来完成。

但是宏记录器存在以下局限性。通过宏记录器无法完成的工作有:

1)录制的宏无判断或循环能力。

2)人机交互能力差,即用户无法进行输入,计算机无法给出提示。

3)无法显示EXCEL对话框。

4)无法显示自定义窗体。

1。8 小结

本课中,你已经掌握了VBA的一些基础知识,你会录制宏、编辑宏而且了解了录制宏的局限性。

你很努力。并且已经为将来学习VBA甚至VB等编程语言打下了基础。关键是你已经了解了一个谜底,就是说,你了解了什么是编程。下面是些小练习,做完后才可以去玩哟。

思考:

1)VBA只能用于EXCEL吗?

2)VBA是基于哪种语言?

3)说说EXCEL和VBA的关系。

4)为什么要用宏?

第二课处理录制的宏

2。1 为宏指定快捷键

你也许希望为经常使用的宏指定快捷键。快捷键是指键的组合,当其按下时执行一条命令。例如:CTRL+C

在许多程序中代表“复制”命令。当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必通过“工具”菜单。

注意:当包含宏的工作簿打开时间,为宏指定快捷键会覆盖EXCEL默认的快捷键。例如:把CTRL+C指定给某个宏,那么CTRL+C就不再执行复制命令。用以下方法可以打印出EXCEL的快捷键清单(用A4纸打印共有24页之多):1)打开EXCEL帮助文件并选择“目录”选项。

2)从“使用快捷键”文件夹中选择“”快捷键“标题。

3)右击该标题,从快捷菜单中选择“打印”。

4)选择“打印所选标题和所有子主题”,单击“确定”。

可以在创建宏时指定快捷键,也可以在创建后再指定。要在创建(录制)宏时指定快捷键,只须在录制宏时在输入宏名后,在“快捷键”文本框中输入相应的键。录制宏后指定快捷键也很简单,只需选择“工具”“宏”,显示“宏”对话框,选择要指定快捷键的宏,再单击“选项”按钮,通过“选项”对话框进行设置。

2。2 决定宏保存的位置

宏可保存在三种可能的位置:

1)当前工作簿。(只有该工作簿打开时,该宏才可用。

2)新工作簿。

3)个人宏工作簿。

2。3 个人宏工作簿

个人宏工作簿,是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。第一次将宏创建到个人宏工作簿时,会创建名为“PERSONAL。XLS"的新文件。如果该文件存在,则每当EXCEL启动时会自动将此文件打开并隐藏在活动工作簿后面(在“窗口”菜单中选择“取消隐藏”后,可以很方便地发现它的存在。

)如果你要让某个宏在多个工作簿都能使用,那么就应当创建个人宏工作簿,并将宏保存于其中。个人宏工作簿保存在“XLSTART”文件夹中。具体路径为:C:\WINDOWS\Profiles\Application Data\Microsoft\Excel\XLSTART。

可以以单词“XLSTART”查询。

注意:如果存在个人宏工作簿,则每当EXCEL启动时会自动将此文件打开并隐藏。因为它存放在XLSTART文件夹内。

2。3。1 保存宏到个人宏工作簿

本练习,将保存一个简单的宏到个人宏工作簿,该宏为文本加下划线并改为斜体,步骤如下:

1)建立一个名为“HOUR2”的工作簿,选择"工具"-"宏"-"录制新宏",显示"录制新宏"对话框。

2)输入"格式化文本"作为宏名。

3)从"保存在"下拉框中选择"个人宏工作簿"。

4)单击"确定"按钮。现在进入录制模式。

5)单击"斜体"工具栏按钮。一段时间内,鼠标出现沙漏,特别是在第一次创建个人宏工作簿时,因为EXCEL在创建该工作簿。

6)单击"下划线"按钮。

7)停止录制。

2。3。2 使用并编辑个人宏工作簿中的宏

刚才已经保存了一个宏到个人宏工作簿,现在可以在任何工作簿中使用该宏。可按如下步骤操作:

1)关闭所有EXCEL工作簿。

2)任意打开一个EXCEL文件。

(EXCEL自动将个人宏工作簿同时打开并隐藏。)

3)在A3中输入你的名字。

4)选择"工具"-"宏",显示宏对话框。现在可以在宏列表中看到"格式化文本"这个宏。

5)选择"格式化文本"宏,并执行。现在A3单元格中,你的名字变为斜体字还带有下划线。

选择"窗口"-"取消隐藏",可以将PERSONAL。XLS显示出来,其中没有任何文字,但通过VBA编辑器可以在其中的模块中找到"格式化文本"这个宏。在VBA编辑器中可以对该宏进行直接编辑或者删除。如果PERSONAL。XLS中一个宏都没有,在启动EXCEL时仍会打开PERSONAL。

XLS,这也许是EXCEL存在的一个小毛病。

2。4 将宏指定给按钮

即使通过快捷键可以是宏的执行变快,但是一旦宏的数量多了也难于记忆,而且,如果宏是由其他人来使用,难道你要他们也记住那么多的快捷键吗?

作为EXCEL开发者,一个主要的目标是为自动化提供一个易于操作的界面。

"按钮"是最常见的界面组成元素之一。通过使用“窗体”工具栏,可以为工作簿中的工作表添加按钮。在创建完一个按钮后,可以为它指定宏,然后你的用户就可以通过单击按钮来执行宏。在本练习中,将创建一个按钮,并为它指定一个宏,然后用该按钮来执行宏。具体步骤如下:

1)打开“HOUR2”工作簿。

2)调出”窗体“工具栏。

3)单击”窗体“工具栏中的“按钮”控件,此时鼠标变成十字形状。

4)在希望放置按钮的位置按下鼠标左键,拖动鼠标画出一个矩形,这个矩形代表了该按钮的大小。对大小满意后放开鼠标左键,这样一个命令按钮就添加到了工作表中,同时EXCEL自动显示“指定宏”对话框。

5)从“指定宏”对话框中选择“格式化文本”,单击“确定”。这样,就把该宏指定给命令按钮。

6)在按钮的标题“按钮1”前单击鼠标左键,按下DELETE直到删除所有文本,输入“格式化”作为标题。

7)单击按钮外的任意位置,现在该按钮的标题由默认的“按钮1”变为“格式化”而且被指定了一个宏。

8)试着在某个单元格中输入文本,单击按钮运行该宏。

当鼠标移动至该按钮时自动变成手的形状,如果要改变其大小或标题,只需用右键单击该按钮就可以进行修改和设置。很明显,你再也不需记住宏的名字或快捷键了,只需按一下按钮。

2。5 将宏指定给图片或其他对象

要执行宏有多种方法可以选择,可以将宏指定给按钮等控件,还可以指定给图片、自定义工具栏、窗体甚至可以将宏指定给某个“事件”,比如单击工作表,双击工作表,激活工作表,打开工作簿等等,“事件”是一个重要的概念,除此而外“方法”“对象”都是将来你会经常接触到的。

现在它们看来十分抽象,但是将来你会很熟悉这些词语。指定宏到图片十分简单,只需单击某个图片,单击快捷菜单中的“指定宏”进行设置即可。

如果不希望在工作表上添加控件或图片执行宏,还有一种方法可以选择:将宏指定给“工具栏按钮”,可按如下步骤进行:

1)打开“HOUR2”工作簿,选择“工具”-“定义”,显示“自定义工具栏”对话框。

2)从“类别”列表框中选择“宏”,从“命令”列表框中选择“自定义按钮”。

3)将“自定义按钮”拖动到工具栏。

4)右键单击该按钮,选择“指定宏”,显示“指定宏”对话框。

5)选择“格式化文本”并确定。

6)单击“关闭”按钮,关闭“自定义工具栏”对话框。

7)试着在某个单元格中输入文本,单击工具栏按钮运行该宏。

2。6 小结

小结与思考:宏存放于三个可能的位置。个人宏工作簿存放的位置和特性。执行宏的方式。指定宏是为某个对象的事件指定一个程序,一旦这个对象以该事件激活,系统将运行指定的程序。

常用的对象有:workbook,worksheet,range,cells,图表,图片,数据透视表,控件,窗体,工具栏。每一个对象都有其可以响应的特殊事件(也有一些通用事件如单击或双击等)。如有兴趣,可以通过EXCEL帮助文件查询这几个词条。

在EXCEL中看到的几乎都是属于某个对象,而在EXCEL中所做的许多工作,

如移动一下鼠标等等,都可能触发了一个事件。下一学时我们将共同学习“控件”。

第三课学习控件

3。1 EXCEL开发过程简介

需要对以下问题有个大致的概念。

1)谁使用-----这决定了程序的操作难度及界面感观。

2)数据来源和保存在哪里-----这决定了程序的结构。

3)如何操作-----这将决定程序的界面和细节。

4)数据处理的结果-----最终决定程序的价值。

3。2 认识不同的控件

开始时请关闭所有工作簿,打开一个新工作簿并另存为"HOUR3"。

在工具栏上单击鼠标右键,从快捷菜单中选择"窗体",显示"窗体"工具栏。其中有16个控件,只有9个可放到工作表内。

1)标签:它用于表现静态文本。

2)分组框:它用于将其他控件进行组合。

3)按钮:用于执行宏命令。

4)复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。

5)选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项按钮。

6)列表框:用于显示多个选项并从中选择。只能单选。

7)组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个其它值。

8)滚动条:不是你常见的来给很长的窗体添加滚动能力的控件,而是一种选择机制。

例如调节过渡色的滚动条控件。包括水平滚动条和垂直滚动条。

9)微调控件:也是一种数值选择机制,通过单击控件的箭头来选择数值。例如改变Windows日期或时间就会使用到微调控件。

3。3 向工作表添加控件

用EXCEL设计界面十分简单,要将控件添加到工作表上,可以按以下步骤操作: 1)创建新工作簿并另存为"HOUR3",显示"窗体"工具栏。

2)选择"标签"控件。

3)将鼠标定位到E1,此时鼠标变成小十字。

4)按下左键,拖动大约四个单元格长度,放开鼠标左键。如果希望控件大小易于控制,可在创建该控件时按下ALT拖动。

5)在标签1上单击右键,选择"编辑文字",现在可以输入文字。

完成后,单击任何单元格退出文字编辑。

6)通过以上步骤可以添加其它控件到工作表中,不再赘述。

3。4 设置控件的特性

设置控件的特性,可以按以下步骤操作:

1)选中先前创建的复选框控件,如果没有马上创建一个。

2)右击该控件,选择"控制"选项卡。

3)在"单元格链接"中输入A1并确定。

4)单击任意单元格,退出设置。

5)用鼠标左键单击复选框,A1出现TRUE,这意味着该控件被选中。再次单击该控件,A1出现FALSE。

6)选择刚才创建的滚动条控件。并调出"设置控件格式"对话框。

7)在"单元格链接"中输入A3并确定。

8)在滚动条外任意单元格单击鼠标左键,使滚动条不被选择。

9)用鼠标单击滚动条上的箭头,则A1的数值增加1,继续单击则A1的数值继续增加。

10)保存并关闭该工作簿。

3。5 给控件命名

当创建一个控件时EXCEL会自动给它指定一个名字,但不便于理解和记忆,为控

件取名的方法基本和给单元格或区域取名的方法相同。

选中某个控件,再在位于公式栏上的"名字"编辑框输入控件名字。这样就给控件更改了名字。

3。6 使用用户窗体

如果希望创建专业级的应用程序,并且方便用户输入数据,那么应该使用用户窗体。用户窗体可以作为程序的对话框和窗口。向用户窗体添加控件基本类似于向工作

表添加控件,然而第一步要创建一个用户窗体。

这可以通过VBA编辑器实现。具体按以下步骤操作:

1)打开"HOUR3"工作簿,选择"工具"-"宏"-"VBA编辑器",打开VBA编辑器。

2)在VBA编辑器中选择工具栏上的"插入用户窗体"按钮或者选择"插入"菜单,从下拉菜单中选择"用户窗体"

现在,VBA编辑器中出现一个名为"USERFORM1"的窗体,"控件工具箱"同时出现,在其中有许多已经熟悉的控件,另外还有一些新的控件。

这些新的控件是:

A)切换按钮:该控件如果被选中,那么会保持被按下的状态。如果再次单击它就恢复为没有按下的状态。EXCEL工具栏中有几个这样的按钮,例如:"全屏显示","加粗","下划线"以及"窗体"工具栏中的"切换网格"等。

B)选项卡条(TabStrip):它是包含多个选项卡的控件。

通常用来对相关的信息进行组织或分类。例如:你也许希望用选项卡条来显示各个地区的销售信息,可以给每个地区设置一个选项卡。在默认时,选项卡包含两页,分别叫做TAB1和TAB2,可以添加更多的选项卡。

C)多页:外观类似选项卡条,是包含一页或多页的控件。

选项卡条给人相似的外观,而多页控件的各页包含各自不同的控件,有各自不同的布局。多页的例子很多,例如:"设置控件格式"对话框和"工具"菜单中的"选项"对话框。以及"格式"菜单中的"单元格。。。"对话框。

D)图像控件:它允许向窗体上放置图片。

图片格式须为:*。bmp,*。cur,*。gif,*。ico,*。jpg,*。wmf。

F)RefEdit:这是工具箱中默认情况下的最后一个控件。它外观象文本框,通过这个控件可以将用户窗体折叠起来,以便选择单元格区域。还记得在使用fx“粘贴函数”时的情况吗?

通过实践,我们会逐渐掌握每个控件的特性,这的确需要花时间,但不必死记硬背。

在对用户窗体设计得满意时,可以对其进行预览,方法是在VBA编辑器中选择该窗体,单击“运行”菜单中的三角符号“运行子过程/用户窗体”,三角符号在VBA工具栏上也可能看得到,旁边是一个垂直的等于符号,最右边是个小正方形符号,它们类似于录音机上的按钮。

运行窗体的另一个方法是按F5键。

小结:学习完本学时后,我们具备了用于程序界面设计的基本知识。我们对控件不在感到陌生,也明白如何向工作表和窗体添加控件,但控件的内容很多,需要边用边理解。此后,我们将从界面转移到学习编写代码,并最终将二者融合。

让我们准备好学习编程吧!

3。7 疑难解答

问题1。怎样决定控件的位置?如何选择添加到工作表还是添加到用户窗体?

解答:这完全取决于个人的爱好和应用程序的用户。如果用户对EXCEL非常熟悉,那么他们也许更希望以工作表的方式操作。在这种情况下不妨直接在工作表上创建控件;如果你的用户对EXCEL不熟悉或者你需要给用户一个专业的界面感觉,那么应该使用用户窗体。

问题2。什么情况下该用选项卡条而不是多页控件?

解答:如果每一页具有相同布局,则应选择选项卡条,否则应该选择多页。

本节作业

1。思考:

1)列举两种可以让用户进行多选一的控件。

2)如何将控件与单元格链接起来。

2。

判断:

1)只有在VBA编辑器中才能添加用户窗体。

2)在VBA编辑器中看到的窗体网格线在运行时会自动显示。

3。填空:( )是显示静态文本的控件。

第四课理解变量和变量的作用(1)

4。1 代码存在的位置:模块

VBA代码必须存放在某个位置,这个地方就是模块。

有两种基本类型的模块:标准模块和类模块。模块中的每个过程或者是函数过程,或者是子程序概念。本课的最后部分将讨论函数过程和子程序的区别。

新术语:

模块:它是作为一个单元保存在一起的VBA定义和过程的集合。

类模块:VBA允许你创建自己的对象,对象的定义包含在类模块中。

你的大部分工作集中在标准模块中(简称为模块)当录制宏时如果不存在模块,EXCEL自动创建一个。EXCEL和VBA不关心代码存放在哪一个模块中,只要代码存在于打开的工作簿中即可。

4。2 对模块的概览

过程被定义为VBA代码的一个单元,过程中包括一系列用于执行某个任务或是进行某种计算的语句。

工作簿的每个过程都有唯一的名字加以区分。

有两种不同的过程:子程序和函数过程。子程序只执行一个或多个操作,而不返回数值。当录制完宏查看代码时,所看到的就是子程序。宏只能录制子程序,而不能录制函数过程。一个子程序的例子如清单4-1所示。

程序清单4-1 子程序的例子

Sub cmdSmallFont_Click()

With Selection。

Font

。Name="Arial"

。FontStyle="Regular"

。Size=16

End With

End sub

上面列出的过程实际上是一个事件过程。通过它的名字,就可以知道这是一个事件过程。这个过程的名字是由一个对象的名字CmdSmallFont和一个事件的名字Click组成的,两者之间用下划线分开。

如果还不明白,可以告诉你,CmdSmallFont是一个命令按钮的名字。也就是说,当单击这个命令按钮时,就会运行这个事件过程。

函数过程通常情况下称为函数,要返回一个数值。这个数值通常是计算的结果或是测试的结果,例如False 或True。

正如前面所说,可以用VBA创建自定义函数。实际上可以在工作表上使用你创建的函数。程序清单4-2是一个计算价格的10%为运费的简单例子。

程序清单4-2 简单的用户定义函数示例。

Public Function Shipping(Price)

Shipping = Price * 0。

1

End Function

请注意,这个函数使用一个参数(Price)。子程序和函数都可以使用参数。不论Price的值是多少,它都将决定运费额。Price可以是数字和单元格引用。函数返回计算出来的运费,这个函数可以用在单元格中。

A B

1 Price 100

2 Shipping =shipping(B1)

4。

2。1 创建过程

创建第一个过程需要两个基本步骤。首先,需要向工作簿中添加一个模块。接着需要向模块中添加一个工程。对于创建的每一个应用程序,只需添加一次模块。可以使用多个模块,但这是不必要的。某些开发者喜欢使用多个模块,以便根据

他们的目的或者窗体对过程进行组织。

在本练习中,创建的过程只显示一个消息框。

在本练习中创建的过程只显示一个消息框。在本练习中使用Msgbox是为了提供一个可见的例子,虽然我们还没有介绍过Msgbox语句,但是在本例中将使用它。要创建该过程,请按如下步骤进行:

1)打开一个新工作簿。

2)选择"工具"-"宏"-"Visual Basic编辑器",打开VBA编辑器窗口。

3)在`VBA编辑器的左面,可以看到“工程资源管理器”窗口。在工程资源管理器窗口的“Thisworkbook"上单击鼠标右键,选择“插入”。

魔兽世界宏命令的编写教程(学习资料)

调出宏命令的编辑窗口有两种方式: 1.在聊天栏输入/MACRO后回车。 2.按ESC调出系统菜单选择【宏命令设置】 看见了吧? 弹出一个窗口,上面有【新建】和【退出】两个按钮。点【新建】,又会弹出一个窗口。五颜六色的图标包括了WOW几乎所有的技能图片,随便选一个你喜欢的,它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,它的下半部分是一个输入栏(别说找不到…),在里面输入宏的内容,然后点【退出】。 我们以牧师为例:选中牧师“复活术”的图标,在名称处填写‘复活’。返回到第一个窗口在输入栏中输入下面的命令: /me 开始施放复活术 /me 的复活术被%t抵抗 /me 开始变得愤怒了 /me 获得了狂暴效果 /me 施放皮鞭失败:%t对此免疫 /me 施放辣椒水失败:%t爱吃川菜 /me 开始施放色诱术(空格,空格…….)%t 复活了! /施放复活术(等级1) PS:一定要注意%t是在英文输入下输入的。中文输入法下是全角模式不被系统接收。HOHO~ 接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,可以设定热键来使用,也可以用鼠标点击。反正是想怎么用就怎么用…,使用方式和普通技能相同 最后留给大家一个思考题,在上面的例子中,“/me”、“%t”“/施放”都是什么作用,牧师职业的玩家可以自行制作后观看效果,可以更改文字,以加强抓狂效果:非牧师职业可以找牧师借鉴。牧师就是好!就是好! 宏命令的初级教程(上) 有了前两章的基础,大家对魔兽世界的宏命令应该有了一定的认识。下面我将对宏命令做出更加详细的介绍, 魔兽世界的宏命令大概有几千个,在初级教程里面将讲解最常用的命令,实现的功能也相对简单。有些人在此时可能在想编写一个宏可以完成一套攻击动作,如“换武器――施法――换回武器”等等。这确实是一套连续动作,不过能实现这套动作的叫外挂而不是宏,魔兽的宏不支持带有冷却时间的技能连续使用,因此那些想要自动完成某套动作的玩家你们的白日梦可以醒醒了。^_^ 我这样说是不是会很打击大家的信心啊?好了。我们赶快开始。举个例子先:网上一个很经典的宏例子 /Kneel /say 如果你不嫁给我,那么我就一辈子不起来…” 这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…" 在这里用到两个宏命令/Kneel和/say,宏命令是不分大小写的。/kneel是个下跪的动作,/say 后面的文字会以普通对话的形式在游戏中表现出来。我们可以变化一下。 /Kneel /y 如果你不嫁给我,那么我就一辈子不起来…”

宏的使用方法

在这里总结宏的使用方法欢迎补充 1 条件include 如下 CODE #ifndef MAIN_H_ #define MAIN_H_ 其它内容 #endif 上面在看到头文件时会看到作用就是阻止这个头文件被多次include 多次include就会出现重复的定义情况所以需要在每个头文件中都使用这个定义 如果还不是很了解要怎样使用可以看看c的标准头文件如fcntl.h 2 条件编译 如下 CODE #ifdef _DEBUG printf("this debug info\n"); #endif 如果没有定义_DEBUG宏的话那么上面那一行是不会编译进去的 但是定义了_DEBUG后上面那行就会编译进去可以写个简单的程序测试 CODE #include int main() { #ifdef _DEBUG printf("hello world\n"); #else printf("no debug"); #endif return 0; } 第一次使用gcc -D_DEBUG main.c 第二次使用gcc main.c 运行两次的结果看 3 定义为某个值以便后面修改这个值时不用修改其它地方代码只要修改这个宏的定义就可以了

如一个软件的多语言版本等 如下 CODE #include #define PRINT_STR "你好DD" main(){ printf(PRINT_STR); return 0; } 编译时会把PRINT_STR代替成"你好DD" 以后想修改时就方便了 另外也可以定义为函数 #include #ifdef _DEBUG #define A(x) a(x) #else #define A(x) b(x) #endif int a(int x) { return x+1; } int b(int x){ return x+100; } int main(){ printf ("A(10) value is %d",A(10)); return 0; } [/code] 其实也可以定义成 #define A a 的 但是定义成A(x)后只有A后面带一个(x)类型的编译器才会执行替换比较安全可以保证只替换函数而不替换变量 第四个 可变参数宏

宏程序编程知识

工件偏置量:G10 L2 P X Y Z (加工中心)。 G41X Y D G90G54P1G00X Y S M03 G90G10L2P0X Y Z G10L1P R G10 P U V W C Q 可编程参数入口:G10 L50 ……… G11 G10数据设置模式入口、 L50可编程参数入口模式(固定的) N……P……R……指定参数入口(N=参数号,P=轴号,R=设置值) G11数据设置模式取消 宏程序的调用:G65 P L G65 P包含宏程序的程序号(存储为O ) L宏程序的循环次数 变量的类型:空变量#0 局部变量:#1—#33 全局变:#100—#149或#500—#531 系统变量:#1000—。。。。。。 局部变量的赋值:A-#1 B-#2 C-#3 D-#7 E-#8 F-#9 H-#11 I-#5 J-#6 K-#6 M-#13 Q-#17 R-#18 S-#19 T-#20 U-#21 V-#22 W-#23 X-#24 Y-#25 Z-#26 模态宏程序的调用G66仅用于某个轴运动命令调用宏程序 G67取消模态宏程序调用 宏程序函数:有SIN COS TAN ATAN ASIN ACOS 其他函数:ROUND FIX FUP ROUND表示四舍五入 FIX表示与之最小的整数 FUP表示与之最大的整数 辅助函数: SQRT表示开方 ABS表示绝对值 LN表示自然对数函数 EXP表示以E为底的指数函数、 ADP表示添加小数点的函数、 逻辑函数:EQ表示等于、NE表示不等于、GT表示大于、LT表示小于、GE表示大于等于、LE 表示小于等于。 系统变量: 从#1000开始 #1000through#1015数据输入DI 从PMC向宏程序发送16位信号(逐位读取) #1032用于一次读取所有16位信号 #1100through#1115数据输出DO从宏程序向PMC发送16位信号(逐位写入) #1132用于一次向PMC写入所有16位信号

数控车床由浅入深的宏程序实例

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。 A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序 则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。 宏程序的作用 数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。 宏的分类 B类宏 由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如(FANUC)OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好

再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A 类宏的引用; A类宏 A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,xx 的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM.#xx就是号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD 系统中有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 应用 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令 H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把#10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

宏程序代码

转铣床 宏指令G65及使用注意事项(FANUC-0MC)2008-05-29 21:10 宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。 一般形式: G65 Hm P#i Q#j R#k 式中: m--宏程序功能,数值范围01~99; #i--运算结果存放处的变量名; #j--被操作的第一个变量,也可以是一个常数; #k--被操作的第二个变量,也可以是一个常数。 例如,当程序功能为加法运算时: 程序P#100 Q#101 R#102...... 含义为#100=#101+#102 程序P#100 Q-#101 R#102...... 含义为#100=-#101+#102 程序P#100 Q#101 R15...... 含义为#100=#101+15 1、宏功能指令 (1)算术运算指令(表4.4) 表4.4 算术运算指令 G码H码功能定义 G65H01定义,替换# i=# j G65H02加# i=# j+# k G65H03减# i=# j-# k G65H04乘# i=# j × # k G65H05除# i=# j/# k G65H21平方根# i=√# j G65H22绝对值# i=|# j| G65H23求余# i=# j-trunc﹙# j/# k﹚· # k Trunc;丢弃小于1的分数部分 G65H24BCD码→二进制码# i=BIN﹙# j﹚ G65H25二进制码→BCD码# i=BCD﹙# j﹚ G65H26复合乘/除# i=﹙# i × # j﹚÷# k G65H27复合平方根1# i=√# j2+# k2 G65H28复合平方根2# i=√# j2-# k2 1)变量的定义和替换 #i=#j 编程格式 G65 H01 P#i Q#j 例 G65 H01 P#101 Q1005; (#101=1005) G65 H01 P#101 Q-#112;(#101=-#112) 2)加法 #i=#j+#k

魔兽世界宏命令集(小白教程)

本教程没有收录所有的宏,意在教会新手制作属于自己的宏,得到更多游戏的快乐。 /cast [<第一组条件选项>] <第一个法术名称>; [<第二组条件选项>] <第二个法术名称>; [<第三组条件选项>] <第三个法术名称>;...” /castsequence [<条件选项>] reset=<#>/target/combat <法术1>, <法术2>, <法术3> 你可以在任何条件选项前加上“no”来得到反效果,比如,“nocombat”则在脱离战斗的情况下成立。 用逗号“,”来分隔条件选项作用和“and”一样,当条件选项同时成立时执行。 用斜杠“/”来分隔条件选项作用和“or”一样,当其中一个条件选项成立时执行。 2.0以前宏举例。 1、小D判断连击点数释放技能,也适用于盗贼: /script if ( GetComboPoints() >= 3 ) then CastSpellByName("凶猛撕咬(等 级 3)"); else CastSpellByName("爪击(等级 4)") end 2、常用的密语格式 /script SendChatMessage(“主动给钱或是由我抢劫二选一”,” say”,”通用语”,” YELL”) "SAY":普通说话2."WHISPER":密语 1."GUILD":工会 2."PARTY":小队 3."RAID":组团 4."YELL":大喊 /script UIErrorsFrame:Clear()可以隐藏并清除提示。Clear也可改为Hide。 3、如果目标生命大于20,释放抽取生命法术,否则使用灵魂抽取。 /script if (UnitHealth("target")>20) then CastSpellByName("抽取生命") else CastSpellByName("灵魂抽取") end 4、使用奥暴,当法力值不足400,用法力红宝石补充并提醒队友 /script if (UnitMana("player")>400) then CastSpellByName("魔爆术(等 级 6)") else UseContainerItem(4, 1);SendChatMessage(“魔法将要耗尽,大家小心!”,”yell”); end 2.0可用的条件选项有:[……] help - 检测目标是否为友善 harm - 检测目标是否为敌对 combat - 检测你是否在战斗中 stance或stance:0/1/2../n检测你是否在姿态中,或是否在某个特定的姿态中 stealth - 检测你是否潜行 equipped: - 检测某个物品是否被装备。可以是任何有效的装备槽,物品分类,或者物品子类target =player/pet/targettarget/Unit 它把当前目标改变为任何有效的单位 pet: <宠物名称或类型> 玩家当前宠物为某宠物Voidwalker,Boar,Imp,Wolf,pet为所有宠物类型 actionbar:1/…./6检测当前动作条是否为列出的那个 button:1/…/5/<虚拟按键号>检测某个特定的按钮被用来触发法术,默认为1即左键点击,2为右键点击,3为鼠标中间点击,4,5为鼠标特殊按键点击。 modifier或modifier:shift/ctrl/alt - 检测命令被执行时是否某个特定的键被按下,可以简写为mod以节省字节。 pet: - 检测宠物是否存在。可以接受宠物类型(枭,熊,小鬼)或者名字(Fluffy,我家坏坏)作为条件。不带条件则检测是否有任何宠物存在。 mounted,swimming,flying,flyable- 检测是否在坐骑上,游泳,或者飞行中,能够飞行状态 indoors,outdoors - 检测是在室内还是室外 exists 和dead - 检测是否目标已经死亡,或是否真的存在

所有宏程序编程代码[1]

各种类型宏程序 A型宏程序 G65H m宏指令表 宏程序的运算与控制指令(G65) 指令格式:G65 Hm P#i Q#j R#k 条件转移的指令格式:G65HmPmQ#jR#k

#i :储存运算结果的变量号 Hm:条件转移指令 #j :进行运算的变量号1,可以是常数 Pm:转移的地址 #k :进行运算的变量号2,也可是常数 Q#j R#k:转移的条件 B型宏程序(FANUC 0i Mate-MC系统) 运算指令 1、定义和转换 #i=#j 2、加法运算 #i=#j+#k 和 #i=#j-#k 差 #i=#jOR#k 或(对32位的每一位) #i=#jXOR#k 异或(对32位的每一位) 3、乘法运算 #i=#j×#k 积 #i=#j÷#k 商 #i=#jAND#k 与(对32位的每一位) 4、函数 #i=SIN[#j] 正弦(度) #i=COS[#j] 余弦(度) #i=TAN[#j] 正切(度) #i=ATAN[#j]/[#k] 反正切(度) #i=SQRT[#j] 平方根 #i=ABS[#j] 绝对值 #i=BIN[#j] 十一二进制转换 #i=BCD[#j] 二一十进制转换 #i=ROUND[#j] 四舍五入圆整 #i=FIX[#j] 舍去小数部分 #i=FUP[#j] 小数部分进位到整数 5、控制指令 (1)无条件转移格式:GOTOn (2)条件转移格式:IF[(条件表达式)]GOTOn (条件表达式)有如下几种 #jEQ#k 即#j=#k #jNE#k #j≠#k` #jGT#k #j>#k #jLT#k #j<#k #jGE#k #j≥#k #jLE#k #j≤#k 例:IF[#4EQ#0]GOTO1 N10G90```````````` WHILE[<条件表达式>]DOm

CAD宏命令

rec 空格长方形.正方形;ro 空格旋转;z 空格选中缩放 e 空格删除;ex 空格拉伸;s 空格缩放比例 z 空格e 空格> 全部显示;z 空格a 空格> 全屏缩放 z 空格p 空格>回到上一个缩放的任务;pl 空格pl 线 l 空格直线; c 空格圆; a 空格圆弧;di 空格测量直线距离li 空格整个图形信息;la 空格图层p 空格小手 z 空格空格缩放和小手;f 空格倒角;ml 空格ml 线 mirrtext 空格镜圆;dxfout 导出封闭形;AR: 阵列(array) pl 空格j 空格封闭图形;tr 空格修剪;x 空格炸开 B: 定义块;D: 尺寸资源管理器;F: 倒圆角;G: 对相组合 H: 填充;I: 插入;S: 拉伸;T: 文本输入 W: 定义块并保存到硬盘中;L: 直线;M: 移动;V: 设置当前坐标U: 恢复上一次操做;O: 偏移;F1: 获取帮助 F2: 实现作图窗和文本窗口的切换;F3: 控制是否实现对象自动捕捉 F4: 数字化仪控制;F5: 等轴测平面切换 F6: 控制状态行上坐标的显示方式;F7: 栅格显示模ro 空格旋转 ex 空格拉伸;z 空格a 空格> 全屏缩放;pl 空格pl 线 c 空格圆; a 空格圆弧;la 空格图层 f 空格倒角;dxfout 导出封闭形;tr 空格修剪;D: 尺寸资源管理器I: 插入;S: 拉伸;L: 直线;M: 移动;O: 偏移 F3: 控制是否实现对象自动捕捉面切换 F6: 控制状态行上坐标的显示方式;F式控制 F8: 正交模式控制;F9: 栅格捕捉模式控制 F10: 极轴模式控制;F11: 对象追踪式控制 Ctrl+B: 栅格捕捉模式控制(F9);Ctrl+C: 将选择的对象复制到剪切板上Ctrl+F: 控制是否实现对象自动捕捉(f3);Ctrl+G: 栅格显示模式控制(F7) Ctrl+J: 重复执行上一步命令;Ctrl+K: 超级链接;Ctrl+N: 新建图形文件 Ctrl+M: 打开选项对话框 AA: 测量区域和周长(area);AL: 对齐(align);AP: 加载*lsp程系AV: 打开视图对话框(dsviewer);SE: 打开对相自动捕捉对话框 ST: 打开字体设置对话框(style);SO: 绘制二围面( 2d solid) SP: 拼音的校核(spell);SC: 缩放比例(scale);SN: 栅格捕捉模式设置(snap) DT: 文本的设置(dtext);DI: 测量两点间的距离;OI:插入外部对相Ctrl+1: 打开特性对话框;Ctrl+2: 打开图象资源管理器;Ctrl+6: 打开图象数据原子 Ctrl+O: 打开图象文件;Ctrl+P: 打开打印对说框;Ctrl+S: 保存文件Ctrl+U: 极轴模式控制(F10);Ctrl+v: 粘贴剪贴板上的内容 Ctrl+W: 对象追踪式控制(F11);Ctrl+X: 剪切所选择的内容 Ctrl+Y: 重做;Ctrl+Z: 取消前一步的操作

WOW宏命令使用说明

1.常用的宏命令 1.1常用的宏命令 1.1.1.释放技能命令 ●/cast 释放一个或多个技能,可以加入一些条件判断,是最常用的命令 ●/castsequence 依次释放释放数个技能,同样可以加入一些条件判断,常见于所谓的"无脑宏" ●/use 使用一个物品,可以直接用物品名称也可以用物品栏位置 1.1. 2.动作命令 ●/cancelform 取消变形 ●/cancelaura 取消状态或增益 ●/startattack 开始攻击,一般写不写差别不大,释放技能会自动开始攻击的 ●/stopattack 停止攻击,与startattack相反,用于防止破除控制等功能,也不大会用到 ●/target /targetenemy 切换目标,用到的也不多,抓贼宏会用到,更多时候需要的反而是不切换目标的情况下对特定目标释放技能 ●/mount 召唤坐骑 ●/dismount 解散坐骑 1.1.3.语言表情命令 ●/1 /2 /3 /4 在不同的频道里面说话,1综合,2交易,3本地防务,4寻求组队

●/s /y /p /ra /bg 在不同的范围说话,s说,y喊,p小队,ra团队,bg战场 ●/e 做出一串表情,同时也可以/+内置表情 1.1.4.特殊命令 ●#showtooltip 显示技能描述,可以指定技能名或是缺省,让你的界面更有可读性●/focus 指定某个目标为焦点目标 ●/clearfocus 清除焦点目标 ●/stopmacro 停止宏,可加入条件判断 ●/console /script 控制命令,抓贼宏会用到 1.2常用的条件判断 1.2.1.目标条件判断 ●help noharm 目标为友方 ●harm nohelp 目标为敌方 ●exists 目标存在 ●dead nodead 目标死亡/存活 1.2.2.自身条件判断 ●stance:1/2/3/4/5/6 form:1/2/3/4/5/6 处在某形态中,对应为 野性:1熊,2水栖,3豹,4旅行,5飞行

数控铣宏程序实例

第四章数控铣宏程序实例 §4、1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360° ) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴与短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

宏程序常用符号和含义

宏程序的常用符号和含义 符号含义符号含义 GT 大于 NE 不等于 GE 大于或等于 ABS 绝对值 LT 小于 AND 与 LE 小于或等于 OR 或者 EQ 等于 ____________________________________________________________________________________________ WHILE 当 IF 如果 G0T0n 执行_段号(n为数值,需和IF同时使用) D0n执行_段号(n为数值,取值1-99。需和WHILE同时使用) END n结束程序(n与开头n的数值对应,需和Don以及WHILE同时使用) _____________________________________________________________________________________ IF[#1LT0]THEN#1=0 如果#1小于0强制#1等于0

宏变量的取值范围 1、局部变量(#1-#33) 什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效。断电以后系统自动清零。 ____________________________________________________________________________________________ 2、公共变量(#100-#199,#500-#999) 而#100-#199和#500-#999的区别在于,前者断电清零,而后者不会清零会一直保存系统内部。比如: #500=TAN[15] #500一旦赋值就将保存在系统内部,下次直接调用#500使用。 ____________________________________________________________________________________________ 3、系统变量(#1000-#17200) 系统变量是用于我们机床系统存储的一些刀补数据参数等等的东西,我们可以不用管它。(不会用的,慎用!) ____________________________________________________________________________________________ 总结:一般情况下我们写程序用#1-#33,当有子程序的时候我们用#100-#199。 常用三角函数运算 1.TAN(正切) 例如:#1=2*TAN[20]中括号里面是角度。 2.SIN(正玄) 例如:#1=3*SIN[3]中括号里面是角度。 3.COS(余玄) 例如:#1=COS[15]中括号里面是角度。 4.SQRT(数学中的开平方的意思,和数学中根号一样) 例如:#1=SQRT[9]那么计算出来#1的值等于3。

计算机二级access常用宏操作

常用宏操作 操作 说明 Beep 通过计算机的扬声器发出嘟嘟声。 Close 关闭指定的 Microsoft Access 窗口。如果没有指定窗口,则关闭活动窗口。 GoToControl 把焦点移到打开的窗体、窗体数据表、表数据表、查询数据表中当前记录的特定字段或控件上。 Maximize 放大活动窗口,使其充满 Microsoft Access 窗口。该操作可以使用户尽可能多地看到活动窗口中的对象。 Minimize 将活动窗口缩小为 Microsoft Access 窗口底部的小标题栏。 MsgBox 显示包含警告信息或其它信息的消息框。 OpenForm 打开一个窗体,并通过选择窗体的数据输入与窗口方式,来限制窗体所显示的记录。 OpenReport 在“设计”视图或打印预览中打开报表或立即打印报表。也可以限制需要在报表中打印的记录。 PrintOut 打印打开数据库中的活动对象,也可以打印数据表、报表、窗体和模块。 Quit 退出 Microsoft Access 。Quit 操作还可以指定在退出 Access 之前是否 保存数据库对象。 RepaintObject 完成指定数据库对象的屏幕更新。如果没有指定数据库对象,则对活动数据库对象进行更新。更新包括对象的所有控件的所有重新计算。 Restore 将处于最大化或最小化的窗口恢复为原来的大小。 RunMacro 运行宏。该宏可以在宏组中。 SetValue 对 Microsoft Access 窗体、窗体数据表或报表上的字段、控件或属性的值进行设置。 StopMacro 停止当前正在运行的宏。 常见操作: 1打开或关闭数据库对象 OpenForm 命令用于打开窗体。 OpenReport 命令用于打开报表。 OpenQuerv 命令用于打开查询。 Close 命令用于关闭数据库对象。 2运行和控制流程 RunSQL 命令用于执行指定的SQL 语句。 RunApp 命令用于执行指定的外部应用程序。 Quit 命令用于退出Access 。 3设置值 SetValue 命令用于设置属性值。 4刷新、查找或定位记录 Requery 命令用于实施指定控件重新查询及刷新控件数据。 FindRecord 命令用于查找满足指定条件的第一条记录。

宏命令制作简介

EXCEL宏实例介绍:“开尔年度生产运营表” 应用背景:适合应用于多张表的各个月份的汇总(多张表没有字段进行直接关联,日期并不能作为直接关联的字段),且汇总表中常出现A行月汇总值与B行月汇总值进行公式处理 思路:本段宏的主要思路来自于先前分享的“资产负责表.xls“里的宏处理。 处理过程: 1、基于VB的EXCEL宏(连接数据库)基本要素有: ADODB.CONNECTION:为连接数据库的接口 ADODB.Recordset:保存数据库执行语句返回值 Sheet1.cells(x,y).value:此处是指sheet1工作簿中第x行,第y列单元格的值,注:通常列在exce中用应为字母ABCD表示,这里要转化为1234,可以为后续的循环语句做准备 以及相关的参数定义

2、宏命令的基本架构 SUB SQLRUN() ——定义sqlrun()函数 DIM cn AS NEW ADODB.Connection——定义数据库连接参数 DIM rst AS NEW ADODB.Recordset ——定义数据库返回值参数 DIM sqlstr as string ——定义SQL语句变量 Dim Strcon As String ——定义数据库连接变量 DIM StartDate as string DIM EndDate as string Strcon = "Driver={SQL Server};Server=.;UID=sa;PWD=1;DataBase=Kaier" ——设定数据库位置 cn.Open Strcon——按照数据库连接变量的值进行数据库连接 SqlStr = "select sum(quantity) from RDR1 where LEFT(ItemCode, 2) IN ('10', '11', '12', '15', '16', '17', '20', '21', '22') and (docdate <='" + enddate + "' and docdate >='" + startdate + "')"——设定所要查询的SQL语句 rst.Open SqlStr, cn ——执行sqlstr中的SQL语句,并将结果返回至rst记录中 Sheet1.Cells(1, 1).Rows.Value = rst.Fields(0).Value ——把rst的值显示在sheet1工作簿中的A1单元格 rst.Close ——清除rst的记录,进行下个计算 END SUB ——结束符号 备注:红色部分是我们基于VB连接SQL进行宏编写的基本框架一般情况下都不会改变黑色部分是自行添加的参数以及执行逻辑,可以根据不同的情况进行编写,其衍生的语法都是大同小异例如: 条件判断:IF THEN END IF 循环语句:FOR i=R THEN BEGIN END NEXT R(或者R=R+1) 值得注意的是,字符串参数(本例中的startdate,enddate)在写入sql语句作为参数时,其参数的格式赢变为:postdate<=’”+startdate+”’。否则将无法进行判断,会提示字符串格式和日期格式无法进行判断比较。

FANUC宏程序编程

运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算

角度单位: SIN、ASIN、COS、ACOS、TAN和A TAN的角度单位是度 ARCSIN #i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,270~90度;当参数(N0.6004¥0)NA T位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS #i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN #i=A TAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,0~360度[例如:当指定 #i=A TAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NA T位设为1时,-180~180度[例如:当指定#i=A TAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同: 即使置于单段程序运行方式,机床也不停止。但是,当参数N0.6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理 与宏程序语句相同性质的NC语句: 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。 无限循环; 当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

魔兽世界常用的一些宏

魔兽世界常用的一些宏 宏其实真的是很简单很简单,大家不会的原因一定是嫌学起来繁复枯燥,流离在这里尽可能用最简单的话把一些简单的宏教给大家,以后大家 想做宏就可以自己动手丰衣足食了~ 一、最最最基本的第一步 调出宏编辑界面:在对话框打/m回车或按ESC找宏选项 点【新建】,然后选择一个图标,·注意那个红色问号的图标,这个图标会自动变成它下一个会施放的法术的样子哦。 二、最最最常用的宏指令 很简单,记住就可以了,就当背单词啦 1、施放:/cast+空格+技能 2、使用:/use+空格+物品 3、选择目标:/target+空格+名称 ·注意:target是英文目标的意思,宏中也可以作为名词来使用,比如target是目标,targettarget就是目标的目标……o(╯□╰)o target后面加“=”就是“以什么什么为目标”的意思,后面可以跟targettarget,player(施法者自己),focus(焦点),mouseover(鼠标指向的目标),pet(宠物)等) 4、设目标为焦点:/focus 5、顺序施放:/castsequence(说明:sequence是连串、顺序、

连续的意思,所以这个指令就是大家常说的“按第一下放A,按第二下放B”啦)这个指令的语法是: /castsequence+空格(+reset=n/target/combat/shift )技能A,技能B,技能C…… 其中n是指秒数,意为n秒后重置此循环;target意为切换目标宏重置;combat是战役的意思,意为战斗结束后重置;shift也可以是ctrl或alt,就是你一按这个功能键宏就重置了。 括号内的内容可以不加或选择用哪个 6、随机施放:/castrandom (说明:random即随机的意思) 7、/userandom 聪明的你一定知道这是什么…… 8、/equip 装备,就是穿衣服滴“穿”~ 三、最最最重要的判断条件 英文中的条件句大家都有学过吧?就是if then啦,宏中那些中括号括起来的东西其实就是一堆If和then而已…… 1、help:判断目标为友方阵营;nohelp:非友方阵营 harm:敌对阵营;noharm:非敌对阵营 2、dead:目标挂了;nodead:目标没挂 3、exists:目标存在;noexists:目标不存在 4、"modifier:alt":判断当功能键alt按下时(alt也可以改为shift 或ctrl) 5、"button:1”:判断宏是被鼠标左键按下时(1也可以改为2,右键)

新代宏程序实例

新代宏程序实例文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

1、R E P E A T直到型循环REPEAT <循环体> UNTIL <条件表达式> END_REPEAT; 说明:REPEAT直到型循环控制,先执行循环体,后判断条件表达式,当条件满足时退出循环。 例如: % @MACRO ,为了;?倾向于;?关于;?当作; conj.因为,由于;? FOR <循环变量> := <表达式1> TO <表达式2> [ BY <表达式3>] DO <循环体> END_FOR; 说明:FOR循环控制,式中各参数意义如下 循环变量——控制循环次数的变量; 表达式1——循环计数的起始值,可为整数或表达式; 表达式2——循环计数的终止值,可为整数或表达式; 表达式3——循环计数每次的累加值,可为整数或表达式; 循环体——循环每次执行内容; FOR循环执行过程为:先给循环变量赋起始值,然后判断循环变量是否为终止值,当循环变量已为终止值时退出循环,否则执行循环体,再对循环变量加上每次累加值, 4、无条件转移

GOTO转移语句 语法: GOTO n; 说明:无条件地跳到指定的n行号执行,其中n可为整数或表达式。GOTO常和IF语句搭配使用,那就是说当程序检查到某个条件满足时用GOTO语句去进一步处理,但应尽量少用该语句以提高程序可读性。 范例: % @MACRO Z10.; … N100 G01 X30. Z30.; … M02; EXIT循环中断语句 语法:EXIT; 说明:循环中断,跳离循环控制;用在循环控制中,通常EXIT都和IF 语句搭配使用,当某个条件满足后就跳离循环。请参考WHILE范例。

UltraEdit的宏命令

UltraEdit的宏命令 The Edit Macro command allows a new macro to be created and edited or an existing macro that has previously been generated with this command or with the Macro Record command to be edited. In many cases, it is easier for the user to generate the macro by recording it with the Macro Record command and then to edit it if necessary. The learning curve is less with this approach. Commands A macro is a series of commands that may later be played back automatically to modify the file. The left hand side of the dialog shows the current macro being edited and an editable window containing the commands that make up the macro. The commands in the macro must be one of the predefined commands. These predefined commands are shown on the right hand side of the dialog. If the mouse is double clicked on the command it is automatically added to the macro, or clicking on the arrow to the left of the commands will add it to the macro. Parameters Many of the commands have numeric parameters. The numeric parameters are quite obvious, such as "Goto Line #" or "Goto Page #". However, some of the commands such as Find and Replace, Sort etc. have additional parameters that are not numeric. These additional parameters are listed below the command list for easy selection. Creating a New Macro To create a new macro from this dialog click the New/Macro button. This displays the Macro Definition dialog allowing you to define the macro name and hot key if required. When this new macro is created, three macro commands are automatically added to the macro: - Insert Mode or OverStrike Mode

相关文档
最新文档