您的位置:首页 > 起名

宏的意思和含义取名字(宏的意思和含义)

宏的意思和含义取名字(宏的意思和含义)

什么是宏?

很多应用软件都提供了宏的功能,“宏”这个名称来自英文单词macro,其含义是:软件提供一个特殊功能,利用这个功能可以组合多个命令以实现任务的自动化。

本书中讨论的宏仅限于Excel中提供的宏功能。

与大多数编程语言不同,VBA代码只能“寄生”于Excel文件之中,并且宏代码不能编译为可执行文件,所以不能脱离Excel应用程序运行。

一般情况下,可以认为宏和VBA这两个名称是等价的,但是准确来讲这二者是有区别的。VBA forOffice的历史可以追溯到Office 4.2(Excel 5.0),在此之前的Excel只能使用“宏表”来实现部分Excel应用程序功能的自动化。时过境迁,即使在VBA得到普遍应用的今天,Office 365和Office 2021( Excel16.0)版本中仍然保留了宏表的功能,也就是说用户可以继续使用宏表功能。在Excel中,VBA代码和宏表可以被统称为“宏”,由此可见宏和VBA是有区别的。但是为了和微软官方文档的描述保持一致,本书中除使用术语“Microsoft Excel 4.0宏”特指宏表外,其他描述中“VBA”和“宏”具有相同的含义。

什么是宏表?

宏表的标准名称是“Microsoft Excel 4.0宏”,也被称为“XLM宏”,其代码被保存在Excel的特殊表格中,该表格外观和通常使用的工作表完全相同,但是功能截然不同。由于宏表功能本身的局限性,导致现在的开发者已经几乎不再使用这个功能开发新的应用。在Excel 5.0和7.0中,用户录制宏时可以选择生成Microsoft Excel 4.0宏或生成VBA代码,但是从Excel 8.0开始,录制宏时Excel只能将操作记录为VBA代码,这从侧面印证了微软的产品思路是逐渐放弃Microsoft Excel 4.0宏功能,希望广大用户更多地使用VBA功能。

从Excel 2010(Excel 14.0)开始,微软开发人员已经成功地将Microsoft Excel 4.0宏的部分功能移植到VBA中,这有助于用户将以前开发的Microsoft Excel 4.0宏迁移为VBA应用程序。

伴随着Office软件的版本升级,VBA的版本也有相应的升级。不同版本Excel中VBA的版本信息如图1-1所示。

图1-1 Excel和VBA的版本

提示

Office 2010是微软发布的第一个支持64位的Office应用程序,并且集成了VBA 7.0,该版本VBA与低版本的显著区别是:该版本VBA能够开发和运行支持64位Office的代码。Office 2021中的VBA版本为7.1.1124。

什么是宏?

很多应用软件都提供了宏的功能,“宏”这个名称来自英文单词macro,其含义是:软件提供一个特殊功能,利用这个功能可以组合多个命令以实现任务的自动化。

本书中讨论的宏仅限于Excel中提供的宏功能。

与大多数编程语言不同,VBA代码只能“寄生”于Excel文件之中,并且宏代码不能编译为可执行文件,所以不能脱离Excel应用程序运行。

一般情况下,可以认为宏和VBA这两个名称是等价的,但是准确来讲这二者是有区别的。VBA forOffice的历史可以追溯到Office 4.2(Excel 5.0),在此之前的Excel只能使用“宏表”来实现部分Excel应用程序功能的自动化。时过境迁,即使在VBA得到普遍应用的今天,Office 365和Office 2021( Excel16.0)版本中仍然保留了宏表的功能,也就是说用户可以继续使用宏表功能。在Excel中,VBA代码和宏表可以被统称为“宏”,由此可见宏和VBA是有区别的。但是为了和微软官方文档的描述保持一致,本书中除使用术语“Microsoft Excel 4.0宏”特指宏表外,其他描述中“VBA”和“宏”具有相同的含义。

什么是宏表?

宏表的标准名称是“Microsoft Excel 4.0宏”,也被称为“XLM宏”,其代码被保存在Excel的特殊表格中,该表格外观和通常使用的工作表完全相同,但是功能截然不同。由于宏表功能本身的局限性,导致现在的开发者已经几乎不再使用这个功能开发新的应用。在Excel 5.0和7.0中,用户录制宏时可以选择生成Microsoft Excel 4.0宏或生成VBA代码,但是从Excel 8.0开始,录制宏时Excel只能将操作记录为VBA代码,这从侧面印证了微软的产品思路是逐渐放弃Microsoft Excel 4.0宏功能,希望广大用户更多地使用VBA功能。

从Excel 2010(Excel 14.0)开始,微软开发人员已经成功地将Microsoft Excel 4.0宏的部分功能移植到VBA中,这有助于用户将以前开发的Microsoft Excel 4.0宏迁移为VBA应用程序。

伴随着Office软件的版本升级,VBA的版本也有相应的升级。不同版本Excel中VBA的版本信息如图1-1所示。

图1-1 Excel和VBA的版本

提示

Office 2010是微软发布的第一个支持64位的Office应用程序,并且集成了VBA 7.0,该版本VBA与低版本的显著区别是:该版本VBA能够开发和运行支持64位Office的代码。Office 2021中的VBA版本为7.1.1124。

47个儒雅俊逸、文质彬彬的男孩名字,每一个都很有意义

名字是宝宝出生后获得的第一件礼物,同时,也是陪伴他们一生的一个标签,所以,家长们在宝宝出生后,都竭尽自己所能,为其取一个好名字。那对于男孩来说,什么类型的名字才能收获更多的美好呢?所以,接下来起名网就为大家推荐一些你们很喜欢的,并且儒雅俊逸、文质彬彬的男孩名字,而且每一个名字都很有内涵。

清远

“清远”这个名字给人一种清新淡雅的感觉,同时,还有一种文质彬彬的才子气度。并且“清”字我们都很熟悉,是纯洁、清明、清白的意思,当这个字用来形容男孩时,也有耳聪目明、握瑜怀瑾的美好寓意。“远”字虽然是高深高远的意思,但是在起名中,也可以引申为才学、志向的意思。因此,“清远”有满腹经纶的美好寓意。

南溟

在“南溟”这个名字中,“南”本义是指一种方向,在起名中,其也可以引申为朝气、顺利、温暖的意思,所以,这个字充满了青春的气息,而且还有暖男的气质。“溟”是一个很美的字,是用来形容小雨濛濛的样子,并且用作人名意指人性格温和,最重要的是,这个字在起名中,也有温文尔雅、文质彬彬的寓意。

锦风

“锦风”这个名字听着,就像带着暖意的春风,时时送来最优美,最动听的鸟叫声。因此,为孩子起这个名字,一方面是希望孩子能像风一样,在自己的天空下自由自在的的飞翔,另一方面风也是诗人寄相思很常借用的事物。所以,“锦风”这个名字带着相思之意,是一个很儒雅的名字,并且这个名字也有前程似锦的寓意。

滕思

在“滕思”这个名字中,“滕”用作人名,不仅可以指人文采好,口才好,而且还有思维敏捷的意思,“思”字我们都很熟悉,是想念和思考的意思,在起名中,这个字也可以引申为孩子有能言善辩、才智过人的品质。因此,“滕思”既好听朗朗上口,又新颖独特,关键是这个名字还能给人一种眼前一亮的感觉。

弘渊

“弘渊”这个名字给人一种学识渊博的感觉,同时,这也是一个很符合男孩气质的名字,并且,“弘”字在起名中,是气度、气派、正义的意思,其也有气度超脱、风流儒雅的寓意。“渊”字很有书香气息,用作人名意指渊博、出类拔萃。因此,如果想为孩子起一个第一眼看上去就很儒雅,并且还富有才气的名字,那不妨选这一个。

辰逸

“辰逸”这个名字不仅潇洒飘逸,而且也很有才子气度,并且在这个名字中,“辰”字也是希望的象征,同时,也有吉祥的意思。“逸”是安乐、不受拘束的意思,所以,为孩子起这个字,是希望其未来在努力后能有安安逸逸、安居乐俗的生活。因此,“辰逸”既好听,又有气质。

烨磊

孩子名字一般都寄予了父母的无限期许,并且也希望自己的孩子能在这种氛围下耳濡目染的长大,“烨磊”这个名字就是包含了父母的期许。在你这个名字中,“烨”用作人名意指明亮,光辉灿烂、光明磊落,“磊”在起名中也有坚强刚毅,正大洒脱的寓意。因此,“烨磊”很符合男孩的气质。

更多儒雅俊逸的男孩名字推荐:

宇书 亦翌 展枫 若旋 云辰

黎枫 叶朴 文宇 楚钧 炫络

擎洋 裴浩 羽冰 耀然 锦宇

靖暮 侗宸 言宇 子清 祁煊

玉言 嘉杰 展宸 朔然 奇辰

倾明 顾泽 浩希 无彦 子北

玉羽 聪洛 简翊 少轩 烨煜

文翊 冷铭 晨风 楚焱 展阳

本文为起名网首发,禁止转载。

学好数控高级编程——宏程序,只需要学好以下几点

宏程序是指在程序中主要起到运算所用的程序,似乎系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算,逻辑运算和函数的混合运算。那么宏程序这么好,该怎么学习呢?那么由老傅带你们走进这神秘的宏程序大门吧!

学宏之前必懂变量

我们普通程序(如G01X100.Y100.F200)X,Y地址后面都是些常量,如果我们把这些常量用变量来编写如G01X#1 Y#2 F200,这就是我们所谓的宏程序。

那么# 和后面的1、2、3、4.....数字标识到底什么关系。这些#号,它是宏代码,1、2、3....是区分这些宏代码的标记。

举个最简单的例子:如果有三个人,他们的名字叫 小李、小李、小李。那么当你呼叫小李的时候,会发生一个问题,这三个人都会回答,但你其实只想喊其中的一个。这就分不清了。

同理,#1 #1 #1 ,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?

所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。

此时如果系统使用#1,就不会发生混乱了。

当然了,标示数字的不同,宏变量的意义也不同,分局部变量、公共变量、系统变量等等,就目前来说,我们使用的是局部变量,能把它用好就不错了,基础打好了再说!

变量的赋值

这所谓赋值,我们可以这么理解:我本来很穷,突然有一天有人给我100块!那么此时此刻,这100块就是我的了,因为它给我了!这个“给我”的过程,就称为赋值。

那么在宏里面怎么赋值呢?我们看一个赋值的语句就理解了:#1 = 100 这就称为赋值!

它的意思是把100这个值给了#1。那么#1在不发生运算的情况下,它的结果就是100。

也就是说#1此后代表100。如果有一个程序语句:GOX100. 那么宏语句GOX#1 与其等同。

下面在举个例子:

#1=10

#2=20

#3=30

G01X#1 Y#2 F#3

以上这个宏程序相当于G01X10.0 Y20.0 F30这个普通程序。

补充说明:

上面的例子是给变量#1,#2,#3赋了一个具体值,宏程序中我们还可以赋予表达式。

表达式的运算优先级就是加减乘除先算哪个,后算哪个。如果有括号,就先算括号里面的等等

看下面的例子,设:

#1 = 100

#2 = 10

#3 = 50

#4 = 20

那么 #1 - #2 * #3 = ?#1/#2 = ?

#3/#2*#4 = ?(#1-#3)/#2 = ?

以上四个运算表达式的结果分别是:-400、10、100、5 相信你也没什么问题吧!

以上包工给大家诠释了变量,赋值等最基本的宏程序概念。大家明白即可!

我们此时更重要的是先学习好宏语句,它将伴随着所有学习宏程序的人,所以一定要理解透彻!

宏程序两大主要语句

1,IF…..GOTO语句:

直观意思是:如果...就跳转到哪(或者是做什么事)。

我们不妨用这个格式来造句,如果福布斯有我的名字,那么我就不上班了;

如果我看过清风的宏教程,那么我还会看他的其他教程!

这类语句都有一个共同点:“如果”的后面会跟着一个条件!

根据这个条件,决定我做什么事!

所以很多书中都这么介绍此语句:IF[条件成立]GOTO

%

O0001#1 = 10N10 #2 = 20IF[#2 EQ 20] GOTO10G0 X100.Z100........

M30

%上面这个IF语句是什么意思呢? 它表示:如果#2这个变量的值等于20的话,就跳转到第10号程序段。可能有人会问“GOTO10”后面的10表示什么意思。

其实这个10表示行号。数控的程序一般都有行号的,如果没有,那是系统参数设定的事,不过你只要知道有行号就行。

还有人会问 EQ 是什么意思,这个是英文EQUAL的简写,含义是等于的意思。

对于新手,建议掌握以下几个常用的符号(如下表):

所以这里我们不难理解上面判断语句的意思了:如果#2等于20,就跳转到第10号段。由于#2是等于20的(因为在赋值的时候,#2=20),所以条件成立,就跳到了第10号段执行。

我们都知道数控程序一般是从上往下执行的,那么我们这跳到了第10行,接着往下执行时又遇到了IF判断语句,于是有开始判断#2是不是等于20,结果等于!于是又成立了,继续跳到第10行。所以,这个程序是死循环,永远不会结束。

说到这,细心人会发现一个问题:条件成立了,会执行GOTO语句,那要是不成立,程序会怎么办? 其实很简单,不成立就往下面走。也就是说如果不成立,就执行G0X100. 的程序段,直到程序运行至M30结束!

总结:如果条件成立,就执行GOTO语句,你写的行号是多少,它就跳到那个行;要是条件不成立,那么就执行IF下面的语句,不执行GOTO语句!

2,WHILE…..DO语句:

看到这个语句,还是老样子,先直观翻译下:当.....就执行某某代码段。

和IF语句差不多,这个语句也是用来做条件判断的,但WHILE.....DO自身没有跳转的功能。

那么这个语句该怎么用?我们是造句说明吧,“当年薪达到100W的时候,我就可以买跑车”。这里“年薪达到100W”是条件,如果条件达到了100W,我就执行买跑车这个想法。就这么简单的逻辑!

下面我们用一个程序来解释它

%

O0002#1 = 20#2 = 20WHILE[#1 EQ #2] DO1GO X50. Y50.G0 X0.Y0.END1G0X100.Z100........

M30

%

上面这个程序段的意思是:当#1和#2的值相等,那么就执行DO1与END1之间的程序。有人会问一个问题:END1是什么东西。DO后面的 1 又是什么东西?这里呢要说明一下,WHILE语句一定要和 END 结合使用。因为END是它的目标地址。就像IF语句里的行号一样,是个目的地!那么END和DO 后面各有一个1,我们就白话的理解为第一层循环的意思。

如果这里DO后面跟的是2,而END后面跟的是1,那么程序将报警,因为DO2找不到与之匹配的END2!所以DO和END后面的数字,一定要匹配!前面说到第一层循环,因为宏是支持循环嵌套的,这个知识点系统教程会着重的讲解,这里不赘述。

现在我们分析下上面的程序段。

由于#1和#2在初始赋值的时候都是20,所以#1和#2是相等的。程序在执行WHILE语句时,它会判断中括号里的#1和#2是不是相等,如果相等,就执行DO1与END1之间的程序;

反之如果#1和#2不相等,那么就不执行 DO1 与 END1 之间的程序,而是往END1下面的程序走,执行G0X100. 直到程序运行至M30结束!讲到这,很多朋友会发现WHILE和IF其实一样的,只不过格式不同、目的地的表示方法不同而已。

接下来分享几组宏程序供大家参考:

多边形 宏程序

#1=0 起始角度 0°

#2=16 边数 16

#4=360+#1

#3=10/COS[360/2*#2]

WHILE[#1LE#4]DO1

G01X[#3*COS[#1]]Y[#3*SIN[#1]]

#1=#1+360/#2

END1

阿基米德螺旋线

#1=0 起始角度

#2=15 起始半径

#3=30 终止半径

WHILE[#2LE#3]DO1;

G01X[#2*COS[#1]]Y[#2*SIN[#1]]

#1=#1+1

#2=#2+15/200 跨度200增加半径15 (每旋转1°半径r增加15/200)

END1

凹球面

G00 G90 G54 X0. Y0.

G43 H01 Z30.

Z0.

#1=0

#10=0.2

N10 #2=-7

#3=16.216-#1

#4=SQRT[30*30-#3*#3]

#5=#4-7

G01X[#5]Y0Z[#1]F1200

G02I[-#5]J0

#1=#1-#10

IF[#1GE#2]GOTO10

倒斜角

M3S200

Z-35.

#1=0

WHILE[#1LE35]DO1

#2=50-#1*TAN[45]

G1X#2Z[-35+#1]

G3I-#2

#1=#1+3

END1

M30

倒圆角

G43G00Z50H3

X0Y0

Z0

G41G01X17D01F1000

#1=0

#2=-7

N10 #3=7+#1

#4=SQRT[7*7-#3*#3]

#5=17-#4

G01X[#5]Y0Z[#1]F1000

G02I[-#5]J0

#1=#1-0.1

IF[#1GE#2]GOTO10

G40X0

凸球面

G00X0Y0Z0

#1=-15

N10 #2=0

#3=27.059+15+#1

#4=SQRT[45*45-#3*#3]

#5=#4+8

G01X[#5]Y0Z[#1]F1200

G02I[-#5]J0

#1=#1+0.02

IF[#1LE#2]GOTO10

卧加自动找正宏程序

1.取两个任一点,用百分表压在同一个数(先压在旋转中心的负方向)

2.压好第一点运行程序

O0428;

#1=ABS[#5021];

#2=ABS[#5023];

M99;

3.压好第二点运行程序

O0429;

#3=ABS[#5021];

#4=ABS[#5023];

#5=#3-#1;

#6=#4-#2;

#7=ABS[ATAN[#6]/[#5]];

G91 G0 Z100.;

IF[#7GT90] GOTO10;

G91 G0 B#7;(先压在旋转中心的负方向才能不转反)

M30;

N10;

G91 G0 B-[180-[#7]];

M30;

4.#5021、#5023分别为X、Z轴当前的位置坐标;

5.机床自动运用反正切计算出当前夹角,B轴自动找正。

6.#6004为反正切的角度计算范围:#6004为“0”时,角度为0-360度;#6004为“1”时,角度为(-180)-180度;

7.Tan1-89度(为正数)分别对应Tan91-179度(为负数)Tan0、180为0,Tan90不存在;

此程序有局限性:不适用于梳齿盘类型B轴结构的机床(一度一分、和半度一分的)。

正弦曲线

#1=0

WHILE[#1LE360]DO1

G01X[50*#1/180-50]Y[10*SIN[#1]]

#1=#1+1

END1

螺旋铣孔

#1=50 圆孔直径

#2=40 圆孔深度

#3=30 刀具直径

#4=0 Z坐标设为自变量,赋值为0

#17=1 Z坐标每次递增量

#5=[#1-#3]/2 刀具回转直径

G00 G90 G54 X0 Y0 S1000 M3

G43 H01 Z30. M08

G00 X#5

Z[-#4+1]

G01 Z-#4 F200

WHILE[#4 LT #2]DO01

#4= #4+#17

G03 I-#5 Z-#4 F1000

END 01

G03 I-#5

G01 X[#5-1]

G00 Z100.

G91 G28 Z0. M09

M30

螺旋线

#1=8 ( 圈数 )

#2=2 ( 螺距 )

#3=0

#4=-360*#1

#5=10 ( 螺旋直径 )

#6=0

WHILE[#3GE#4]DO1

G01X[#5*COS[#3]]Y[#5*SIN[#3]]Z-#6

#3=#3-1

#6=#6+#2/360

END1