Excel VBA常用代码总结1(精选合集)

时间:2019-05-15 09:45:37下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Excel VBA常用代码总结1》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Excel VBA常用代码总结1》。

第一篇:Excel VBA常用代码总结1

Excel VBA常用代码总结1

改变背景色

Range(“A1”).Interior.ColorIndex = xlNone ColorIndex一览

  改变文字颜色 获取单元格 Range(“A1”).Font.ColorIndex = 1 Cells(1, 2)Range(“H7”) 获取范围

Range(Cells(2, 3), Cells(4, 5))Range(“a1:c3”)'用快捷记号引用单元格

Worksheets(“Sheet1”).[A1:B5]  选中某sheet SetNewSheet = Sheets(“sheet1”)NewSheet.Select  选中或激活某单元格

'“Range”对象的的Select方法可以选择一个或多个单元格,而Activate方法可以指定某一个单元格为活动单元格。

'下面的代码首先选择A1:E10区域,同时激活D4单元格: Range(“a1:e10”).Select Range(“d4:e5”).Activate '而对于下面的代码: Range(“a1:e10”).Select Range(“f11:g15”).Activate '由于区域A1:E10和F11:G15没有公共区域,将最终选择F11:G15,并激活F11单元格。

 获得文档的路径和文件名

ActiveWorkbook.Path

'路徑 ActiveWorkbook.Name

'名稱

ActiveWorkbook.FullName '路徑+名稱 '或将ActiveWorkbook换成thisworkbook

    隐藏文档 禁止屏幕更新

禁止显示提示和警告消息 文件夹做成 Application.Visible = False Application.ScreenUpdating = False Application.DisplayAlerts = False strPath = “C:temp” MkDirstrPath   状态栏文字表示 双击单元格内容变换 Application.StatusBar = “计算中”

PrivateSubWorksheet_BeforeDoubleClick(ByVal Target As Range, Cancel AsBoolean)If(Target.Cells.Row>= 5AndTarget.Cells.Row<= 8)Then IfTarget.Cells.Value = “●”Then Target.Cells.Value = “" Else

Target.Cells.Value = ”●“ EndIf

Cancel = True EndIf End Sub

 文件夹选择框方法1

SetobjShell = CreateObject(”Shell.Application“)SetobjFolder = objShell.BrowseForFolder(0, ”文件“, 0, 0)IfNotobjFolderIsNothing

Then path= objFolder.self.Path&”“ endif SetobjFolder = Nothing SetobjShell = Nothing

 文件夹选择框方法2(推荐)

PublicFunctionChooseFolder()AsString DimdlgOpenAsFileDialog SetdlgOpen = Application.FileDialog(msoFileDialogFolderPicker)WithdlgOpen.InitialFileName = ThisWorkbook.path&”“ If.Show =-1Then

ChooseFolder =.SelectedItems(1)EndIf EndWith

SetdlgOpen = Nothing End Function

'使用方法例:

Dim path AsString path = ChooseFolder()If path <>”“Then MsgBox”open folder“ EndIf

 文件选择框方法

PublicFunctionChooseOneFile(OptionalTitleStrAsString = ”Please choose a file“, OptionalTypesDecAsString = ”*.*“, OptionalExtenAsString = ”*.*“)AsString

DimdlgOpenAsFileDialog SetdlgOpen = Application.FileDialog(msoFileDialogFilePicker)WithdlgOpen.Title = TitleStr.Filters.Clear.Filters.AddTypesDec, Exten.AllowMultiSelect = False

.InitialFileName = ThisWorkbook.Path If.Show =-1Then

'.AllowMultiSelect = True ' For Each vrtSelectedItemIn.SelectedItems ' MsgBox ”Path name: “ &vrtSelectedItem ' Next vrtSelectedItem

ChooseOneFile =.SelectedItems(1)EndIf EndWith

SetdlgOpen = Nothing End Function

 某列到关键字为止循环方法1(假设关键字是end)SetCurrentCell = Range(”A1“)DoWhileCurrentCell.Value<>”end“ „„

SetCurrentCell = CurrentCell.Offset(1, 0)Loop

 某列到关键字为止循环方法2(假设关键字是空字符串)i = StartRow DoWhileCells(i, 1)<>”“ „„

i = i + 1 Loop

 ”For Each...Next 循环(知道确切边界)ForEach c InWorksheets(“Sheet1”).Range(“A1:D10”).Cells

IfAbs(c.Value)<0.01Thenc.Value = 0 Next

 “For Each...Next 循环(不知道确切边界),在活动单元格周围的区域内循环

ForEach c InActiveCell.CurrentRegion.Cells IfAbs(c.Value)<0.01Thenc.Value = 0 Next

 某列有数据的最末行的行数的取得(中间不能有空行)lonRow=1

DoWhileTrim(Cells(lonRow, 2).Value)<>”“ lonRow = lonRow + 1 Loop

lonRow11 = lonRow1164)比如i=A的时候,Asc(it >= num * 1000 DoEvents Loop End Sub

'***************************************************************

使用方法: delay 3'3表示秒数

 杀掉某程序执行的所有进程

SubKillWord()

Dim Process

ForEach Process InGetObject(”winmgmts:“).ExecQuery(”select * from Win32_Process where name='WINWORD.EXE'“)Process.Terminate(0)Next

End Sub

 监视某单元格的变化

这里最需要注意的问题就是,如果在这个事件里对单元格进行改变,会继续出发此事件变成死循环。

所以要在对单元格进行变化之前加上Application.EnableEvents = False,变完之后再改为True。

PrivateSubWorksheet_Change(ByVal Target As Range)OnErrorGoTo Err Application.EnableEvents = False Dim c SetdicKtoW = SetDic(ThisWorkbook.Sheets(”reference“), 3, 1, 2)SetdicKtoX = SetDic(ThisWorkbook.Sheets(”reference“), 3, 1, 3)ForEach c In Target Ifc.Column = 11Then 'MsgBoxc.Value

Me.Range(”W“&c.Row).Value = GetDic(dicKtoW, c.Value)Me.Range(”X“&c.Row).Value = GetDic(dicKtoX, c.Value)EndIf Next SetdicKtoW = Nothing SetdicKtoX = Nothing

Application.EnableEvents = True Exit Sub Err: MsgBox(”Error!Please contact macro developer.“)Application.EnableEvents = True End Sub

 On Error的用法

1.一般用法

OnErrorGoTo Label 各种代码 exit sub Label: msgboxErr.Description 其他错误处理

2.对于某段代码单独处理 OnErrorResumeNext 需要监视的代码

IfErr.Number<>0Then MsgBoxErr.Description EndIf

OnErrorGoTo0

3.上述两种的结合 OnErrorResumeNext 需要监视的代码

IfErr.Number<>0Then MsgBoxErr.Description Goto Label EndIf

OnErrorGoTo0 exit sub Label: 其他错误处理

 EXCEL的分组功能和展开收缩功能

'将A列到C列进行分组

Range(”A:C“).Columns.Group

'默认情况下,分组后的A到C列会是展开状态,如果想让A到C列收缩 Range(”A:C").EntireColumn.Hidden=True

第二篇:软件工程代码总结

1、事件

处理事件的方法

2、class和id的用途是不一样的;首先要说明一下,选择器一共有三种:

html标记,class,id;html标记就不说了,class是对html标记选择器的一种扩展,CLASS可以给多个标记反复利用;而ID的目的在于被Javascript使用,来动态改变CSS,所以2种的实际用途是截然不同的。

如:“id”对应“#”,“class”对应“.”.id是唯一标志的,在同一页面中不能有相同的值,class则没这约束。如: Css #div1{......}.div2{......}

//class可以相同重复用

第三篇:写代码总结

一、排版:

1.关键词和操作符之间加适当的空格。

2.相对独立的程序块与块之间加空行

3.较长的语句、表达式等要分成多行书写。

4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。

5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。

7.若函数或过程中的参数较长,则要进行适当的划分。

8.不允许把多个短语句写在一行中,即一行只写一条语句。

9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。

10.C/C++语言是用大括号„{‟和„}‟界定一段程序块的,编写程序块时„{‟和

„}‟应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

二、注释

1.注释要简单明了。

2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

3.在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。

4.对代码的注释应放在其上方相邻位置,不可放在下面。

5.对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。

6.变量、常量的注释应放在其上方相邻位置或右方。

7.全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

8.在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。

9.在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。

三、命名

1.较短的单词可通过去掉“元音”形成缩写;

2.较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。

3.使用匈牙利表示法

四、可读性

1.避免使用不易理解的数字,用有意义的标识来替代。

2.不要使用难懂的技巧性很高的语句。

3.源程序中关系较为紧密的代码应尽可能相邻。

五、变量

1.去掉没必要的公共变量。

2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。

3.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。

4.明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。

5.当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。

6.防止局部变量与公共变量同名。

7.仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。

8.结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。

9.留心具体语言及编译器处理不同数据类型的原则及有关细节。

10.严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。

11.编程时,要注意数据类型的强制转换。

六、函数、过程

1.函数的规模尽量限制在200行以内。

2.一个函数最好仅完成一件功能。

3.为简单功能编写函数。

4.函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。

5.尽量不要编写依赖于其他函数内部实现的函数。

6.避免设计多参数函数,不使用的参数从接口中去掉。

7.用注释详细说明每个参数的作用、取值范围及参数间的关系。

8.检查函数所有参数输入的有效性。

9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。

10.函数名应准确描述函数的功能。

11.避免使用无意义或含义不清的动词为函数命名

12.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。

13/明确函数功能,精确(而不是近似)地实现函数设计。

14.减少函数本身或函数间的递归调用。

15.编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。

七、可测性

1.在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。

2.在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。

八、程序效率

1.编程时要经常注意代码的效率。

2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。

3.不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。

4.编程时,要随时留心代码效率;优化代码时,要考虑周全。

5.要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。

6.通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。

7.在多重循环中,应将最忙的循环放在最内层。

8.尽量减少循环嵌套层次。

9.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。

10.尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。

九、质量保证

1.在软件设计过程中构筑软件质量。

代码质量保证优先原则

(1)正确性,指程序要实现设计要求的功能。

(2)稳定性、安全性,指程序稳定、可靠、安全。

(3)可测试性,指程序要具有良好的可测试性。

(4)规范/可读性,指程序书写风格、命名规则等要符合规范。

(5)全局效率,指软件系统的整体效率。

(6)局部效率,指某个模块/子模块/函数的本身效率。

(7)个人表达方式/个人方便性,指个人编程习惯。

2.只引用属于自己的存贮空间。

3.防止引用已经释放的内存空间。

4.过程/函数中分配的内存,在过程/函数退出之前要释放。

5.过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。

6.防止内存操作越界。

7.时刻注意表达式是否会上溢、下溢。

8.认真处理程序所能遇到的各种出错情况。

9.系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。

10.系统运行之初,要对加载到系统中的数据进行一致性检查。

11.严禁随意更改其它模块或系统的有关设置和配置。

12.不能随意改变与其它模块的接口。

13.充分了解系统的接口之后,再使用系统提供的功能。

14.要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。

15.不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。

16.建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:

(1)充分了解应用接口、使用环境及使用时注意事项。

(2)不能过分相信其正确性。

(3)除非必要,不要使用不熟悉的第三方工具包与控件。

十、代码编译

1.编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。

2.同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。

3.合理地设计软件系统目录,方便开发人员使用。

4.打开编译器的所有告警开关对程序进行编译。

5.在同一项目组或产品组中,要统一编译开关选项。

6.使用工具软件(如Visual SourceSafe)对代码版本进行维护。

十一、代码测试、维护

1.单元测试要求至少达到语句覆盖。

2.单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。

3.清理、整理或优化后的代码要经过审查及测试。

4.代码版本升级要经过严格测试。

第四篇:域代码编写总结

word域代码详解

域的基本操作

Ctrl+F9 插入域

Ctrl+Shift+F9把域转为纯文本 Shift+F9 切换为域代码显示

十个特殊指令(域开关)

1、数组a

2、括号b

3、平移d

4、分式f

5、积分i

6、列表l

7、重叠o

8、根号r

9、上下标s

10、框x

域代码: {EQ a(100,2,31)}

讲解: {EQ列表(100,2,31排成一列)}

可用参数:

al左对齐;ac居中;ar右对齐;con元素排成 n 列;vsn行间增加 n 磅;hsn列间增加n磅

al左对齐

域代码: {EQ aal(100,2,31)}

讲解: {EQ 列表左对齐(100,2,31)}

ac居中

域代码:{EQ aac(100,2,31)}

讲解:{EQ 列表居中对齐(100,2,31)}

ar右对齐

域代码:{EQ aar(100,2,31)}

讲解:{EQ 列表右对齐(100,2,31)}

con元素排成n列

域代码:{EQ aco3(10,2,31,0,1,0,14,3,55)}

讲解:{EQ 列表元素排成3列(10,2,31,0,1,0,14,3,55)}

vsn 行间增加n磅

域代码:{EQ aco3vs2(10,2,31,0,1,0,14,3,55)}

讲解:{EQ 列表元素排成3列行间增加2磅}

hsn 列间增加n磅

域代码:{EQ aco3vs2hs4(10,2,31,0,1,0,14,3,55)}

讲解:{EQ 列表元素排成3列行间增加2磅列间增加4磅}

域代码:{EQ b(a(100,2,31))}

讲解:{EQ 加括号(数组(100,2,31))}

可用参数:

左括号使用字符 lc;右括号使用字符 rc;左右括号都使用字符bc

lc* 左括号使用字符*

域代码:{EQ blc|(a(100,2,31))}

讲解:{EQ 加括号左括号使用字符|(数组(100,2,31))}

rc* 右括号使用字符*

域代码:{EQ brc|(a(100,2,31))}

讲解:{EQ 加括号右括号使用字符|(数组(100,2,31))}

bc* 左右括号都使用字符*

域代码:{EQ bbc|(a(100,2,31))}

讲解:{EQ 加括号左右括号使用字符|(数组(100,2,31))}

注意:如果指定的字符*是 {、[、(、或 <,Word 将使用相应的字符作为右括号。如果指定其他字符,Word将使用该字符作为相同的左右括号。默认括号为圆括号。

3、位移开关 d(): 控制 EQ 域之后下一个字符的位置。

空圆括号只跟在指令最后一个选项后面。

域代码:{EQ-d()A-}

讲解:{EQ-下一个字符后移 A-}

可用参数:

fon右边n磅;ban左边n磅;li为下一个字符前的空白添加下划线

fon 右边n磅

域代码:{EQ-dfo5()A-}

讲解:{EQ-下一个字符后移5磅 A-}

ban 左边n磅

域代码:{EQ-d ba7(A-)}

讲解:{EQ-下一个字符前移7磅}

li 为下一个字符前的空白添加下划线

域代码:{EQ 我 dfo12li()你 }

讲解:{EQ 我 下一个字符后移12磅,空白添加下划线 你}

4、分数开关 f(,): 创建分数,分子分母分别在分数线上下居中。

域代码:{EQ 18f(5,132)}

讲解:{EQ 18分数(分子,分母)}

无可用参数。

符号或默认符号及三个元素创建积分。

第一个元素是积分下限,第二个是上限,第三个是积分表达式。

域代码:{EQ i(a,b,3x+1 dx)}

讲解:{EQ 积分(下标a,上标b,表达式3x+1 dx)}

可用参数: 将符号更改为∑ 并生成求和公式su ;将符号更改为大写的 Π 并生成求积公式pr ;创建行内格式,积分限不在符号的上下,而在符号之右in ;将符号设置为固定高度的字符 fcc。

su 生成求和公式

域代码:{EQ isu(i=1,n,xi)}

讲解:{EQ 求和(下标a,上标b,表达式xi)

pr 生成求积公式

域代码:{EQ ipr(i=1,n,xi)}

讲解:{EQ 求积(下标i=1,上标n,表达式 xi)

in 积分限不在符号的上下,而在符号之右

域代码:{EQ iin(a,b,3x+1 dx)}

讲解:{EQ 积分积分限在符号之右(a,b,3x+1 dx)}

fcc将符号c设置为固定高度的字符

域代码:{EQ ifc设置为固定高度的字符in(a,b,3x+1)}

讲解:{EQ i符号改为。

in(a,b,3x+1)};将符号

vcc 符号高度与第三个元素高度一致

域代码:{EQ ivc

in(a,b,3x+1)}

讲解:加vc开关后,指定的符号自动放大

6、列表开关 l(): 使用任意个数的元素组成列表。

以逗号或分号分隔,这样就可以将多个元素指定为一个元素。在域中输入一个类似a,b的元素,不加括号时域会报错,加了括号又会显示出括号,列表开关可以解决类似问题。

域代码:{EQ isu(l(i,j)=1,l(n,m),xij)}

讲解:{EQ求和(加列表(i,j)=1,加列表(n,m),xij)}

无可用参数。

7、重叠开关 o(): 将每个后续元素置于前一个元素之上。

元素数目不限。元素之间以逗号隔开。可以配合上标开关使用

域代码:{EQ o(A,╳)}{EQ o(?,12)}

讲解:{EQ 重叠(A,╳)} {EQ 重叠(?,12)}

可用参数: 左对齐al;居中ac;右对齐ar

al左对齐

域代码:{EQ oal(ABC,sup10(︵))}

讲解:{EQ o重叠左对齐(ABC,sup10(︵))}

ac居中

域代码:{EQ oac(ABC,sup10(︵))}

讲解:{EQ 重叠o居中ac(ABC,sup10(︵))}

ar右对齐

域代码:{EQ oar(ABC,sup10(︵))}

讲解:{EQ 重叠o右对齐ar(ABC,sup10(︵))}

8、根号开关 r(,): 使用一个或两个元素绘制根号。

域代码:{EQ r(5,2a+b)}

讲解:{EQ 根号r(根指数5,被开方数2a+b)}

无可用参数。

9、上标下标开关 s(): 将元素放置为上标或下标字符。

每个 s 代码可有一个或多个元素,以逗号隔开。如果指定多个元素,则元素将堆叠起来并且左对齐

域代码:{EQ Cs(3,12)}

讲解:{EQ C上下标(上标3,下标12)}

可用参数: 在段落一行之上添加由 n 指定的磅数的空白;文字上移由 n 指定的磅数。默认值为 2 磅

upn()在段落一行之下添加由 n 指定的磅数的空白din();将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅don()。

ain添加由 n 指定的磅数的空白

域代码:A{EQ Csai12(3)B}

讲解:A{EQ C上下标s行之上添加由12磅的空白ai12(3)B}

upn 文字上移由 n 指定的磅数(默认值为 2 磅)

域代码:{EQ Csup12(3)s(12)}

讲解:{EQ C上下标sup12(3)上下标s(12)}

din 在段落一行之下添加由 n 指定的磅数的空白

域代码:{EQ Csdi18(12)}A

讲解:{EQ C上下标s一行之下添加18磅的空白di18(12)}A

don 将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅

域代码:{EQ Cs(3)sdo8(12)}

讲解:{EQ C上下标s(3)上下标s下移8磅do8(12)}

10、框开关 x(): 创建元素边框。

如果不带选项,则此代码在元素四周绘一个方框。

域代码:{EQ x(12345)}

讲解:{EQ 边框x(12345)}

可用参数: 在元素的上面绘制一个边框to ;在元素的下面绘制一个边框 bo ;在元素的左面绘制一个边框le 在元素的右面绘制一个边框ri

to上面绘制一个边框

域代码:{EQ x to(A∪B)}

讲解:{EQ 边框x 上边框to(A∪B)}

bo下面绘制一个边框

域代码:{EQ x bo(A∪B)}

讲解:{EQ 边框x 下边框bo(A∪B)}

le左面绘制一个边框

域代码:{EQ x le(A∪B)}

讲解:{EQ 边框x 左边框le(A∪B)}

ri左面绘制一个边框

域代码:{EQ x ri(A∪B)}

讲解:{EQ 边框x 右边框ri(A∪B)}

左右都加边框

域代码:{EQ x leri(A∪B)}

讲解:{EQ 边框x 左边框le右边框ri(A∪B)}

关于域的快捷键:

Ctrl+F9组合键——快速插入域定义符“{}”(注意:这个花括号不能用键盘输入)

Shift+F9组合键——显示或者隐藏指定的域代码

Alt+F9组合键——显示或者隐藏文档中所有域代码

F9键——更新单个域

上表中,选中每一个实例用鼠标右键单击,选“切换域代码”(或者直接按Shift+F9组合键),就可以看到域代码,再按Shift+F9组合键回到域结果。

我们在word2000中编辑文档时,有时会经常遇到要求输入数学公式的情况。虽然简单的加、减、乘、除等运算都可在键盘上直接输入,但遇到复杂的数学公式:如积分、开方、求和等符号时,就只能利微软的office套件中所带的工具“公式编辑器”来完成,但是在office套件的典型安装的过程中,并没有选择这个工具,那么有没有办法可以在word2000中直接输入这些符号呢?答案是肯定的,下面我们就来讲解通过word2000的EQ域的功能输入数学公式。

一、EQ域的基本使用格式:

{EQ Switches}

其中Switches用于指定如何使用其后跟随的括号中的元素建立公式,还可以用适当的开关选项来进行修改。EQ域的开关特别多,特别复杂,合理的组合可以产生各种各样的公式,下面我们来详细介绍各种开关的作用及使用方法及事例。

二、EQ域的开关及选项意义

1.数组开关:a(),可以在文档中绘制一个二维数组。还可以使用下面的选项来修改a 开关。

al 列内左对齐。

ac 列内居中对齐。

ar 列内右对齐。

con元素排成 n 列(默认值为 1)。

vsn行间增加 n 磅的垂直间距。

hsn列间增加 n 磅的水平间距。

2.括号开关:b(),用括号括住单个元素。

lcc 左括号使用字符 c。

rcc 右括号使用字符 c。

bcc 左右括号都使用指定的字符 c。

3.位移开关:d(),将下一个字符向左或右移动指定磅数。

fon()右边 n 磅。

ban()左边 n 磅。

li()为下一个字符前的空白添加下划线。

示例:{ EQ d fo10 li()} 显示为(前一段文字)__(后一段文字)

4.分数开关:f(,):可用于创建分数。

分子分母分别在分数线上下居中。如果系统使用逗号作为小数点,请用分号分隔两个元素。

5.列表开关:l(),将多个值组成一个列表,列表可作为单个元素使用。

列互开关可使用任意个数元素组成列表,以逗号或分号分隔,这样就可以将多个元素指定为一个元素。

6.重叠开关:o(),将每个后续元素打印在前一元素之上。

al 左对齐

ac 居中(默认值)

ar 右对齐

7.根号开关:r(,),使用一个或两个元素绘制根号。

8.上标或下标开关:s(),设置上下标。可将一个或多个元素设置为上标或下标。每个s代码可有一个或多个元素,以逗号隔开。如果指定多个元素,则元素将堆叠起来并且左齐。可用下面的选项在s开关之后放置单个元素。

ain()在段落一行之上添加由 n 指定的磅数的空白。

upn()将单个元素相对相邻文字上移由 n 指定的磅数。默认值为 2 磅。

din()在段落一行之下添加由 n 指定的磅数的空白。

don()将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅。

9.方框开关:x(),在元素四周绘制边框。

to 元素之上。bo 元素之下。

le 元素左侧。ri 元素右侧。

10.积分开关:i(,),使用指定的符号或默认符号及三个元素创建积分。使用指定的符号及三个元素创建积分。第一个元素是积分下限,第二个元素是积分上限,第三个是积分表达式。可用下面的选项修改。

su 符号更改为大写的 ∑ 并生成求和公式。

pr 符号更改为大写的 Π 并生成求积公式。

in 创建行内格式,积分限不在符号的上下,而在符号之右。

fcc 将符号设置为固定高度的字符 c。

vcc 将符号设置为可变高度的字符 c。符号高度与第三个元素高度一致。

好了,上面详细地介绍了EQ域创建数学公式的每个开关及选项的意义,下面我们来看几个实例的应用。

三、EQ域实例创建

1、我们要创建如下的数学二元一次方程组:

1.先写出第一个方程的代码:{EQ r(3,x)+r(2,x)= r(6,y)}

2.再写出第二个方程的代码:{EQ f(2,x)+f(5,y)= f(10,x)}

3.将每个等式作为一个元素合并在一个域中,并增加a开关,使其排列在两行中域代码为:{EQ a al co1(r(3,x)+r(2,x)= r(6,y), f(2,x)+f(5,y)= f(10,x))

4.最后按照方程式的组成规则,在域代码中增加开关,为公式加入括号,并修改参数,生成这个二元方程组。最终代码为:{EQ b lc {(a al co1(r(3,x)+r(2,x)= r(6,y), f(2,x)+f(5,y)= f(10,x)))

2、创建如下的积分算式:

1.首先写出内部的根号的代码:{EQ r(2,x)}

2.其次增加分数开关的代码:{EQ f(r(2,x),5)}

3.最后增加积分开关,完成这个积分算式,代码为:{EQ i(200,100,f(r(2,x),5))dx}

第五篇:单片机实验代码总结

编者:方园

单片机实验代码集合(by fangyuan)

1.多字节累加程序:

ORG 0000H LJMP MAIN ORG 0030H;将加数和被加数送到指定地址 MAIN: MOV 20H,#45H

MOV 21H,#74H

MOV 30H,#67H

MOV 31H,#28H

;低位相加

MOV A,21H

ADD A,31H

DA A

MOV 42H,A

;高位相加

MOV A,20H

ADDC A,30H

DA A

MOV 41H,A

CLR A

ADDC A,#0

MOV 40H,A

SJMP $ END

2.数据交换实验

编写程序,实现以下操作:

【功能1】产生数组Hex1:0H、1H、2H、„ 0FH,存储到片内RAM区中,数组Hex1的首地址为30H。

【功能2】产生数组Hex2:0FH、0EH、0DH、„ 0H,存储到片外RAM区中,数组Hex2的首地址为3000H。

【功能3】将片内RAM数组Hex1与片外RAM数组Hex2交换内容。

代码:

ORG 0000H

Hex1 EQU 30H

;定义内部RAM数组首地址

Hex2 EQU 3000H;定义外部RAM数组首地址

编者:方园

LJMP MAIN

ORG 0030H MAIN:

MOV SP,#4FH

;定义栈顶地址

MOV R7,#16

MOV R0,#Hex1

MOV DPTR,#Hex2

LCALL HEX1DE

;调用内部送数据函数

LCALL HEX2DE;调用外部送数据函数

LCALL XCHDE;调用交换函数

SJMP $

ORG 0100H

;内部送数据

HEX1DE: PUSH 00H

PUSH 07H

MOV A,#0 LOOP1: MOV @R0,A

INC A

INC R0

DJNZ R7,LOOP1

POP 07H

POP 00H

RET

;外部送数据

HEX2DE: PUSH 07H

PUSH DPL

PUSH DPH

MOV A,#0FH LOOP2: MOVX @DPTR,A

DEC A

INC DPTR

DJNZ R7,LOOP2

POP DPH

POP DPL

POP 07H

RET

;交换子程序 XCHDE:

LOOP3: MOVX A,@DPTR

XCH A,@R0

编者:方园

END

MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP3 RET

3.查表实验

1、《单片机原理及应用实验教程》(第2版)“第2章 实验3”(P49)。要求: 16进制数(00H~0FH)ASCⅡ码表定义在内部ROM中(用伪指令定义);R0为片内RAM区Hex数组指针;R1为片内RAM区Asc数组指针;数据块长度放在寄存器R2中。

代码如下:

ORG 0000H

Hex EQU 40H

Asc EQU 50H

LJMP MAIN

ORG 0030H MAIN:

MOV R2,#16

MOV DPTR,#TABLE

MOV R0,#Hex

MOV R1,#Asc

MOV SP,#2FH

LCALL FUZHI

LCALL ZHUANHUAN

SJMP $

TABLE:

DB '0123456789'

;查表子程序 ORG 1000H ZHUANHUAN:

PUSH 00H

PUSH 01H

PUSH 02H LOOP1:

MOV A,@R0

编者:方园

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R2,LOOP1

POP 02H

POP 01H

POP 00H

RET

;R0送值子程序 FUZHI:

PUSH 00H

PUSH 01H

PUSH 02H

MOV A,#0 LOOP2:

MOV @R0,A

INC R0

INC A

DJNZ R2,LOOP2

POP 02H

POP 01H

POP 00H

RET END

2、编写用@A+PC指令的查表程序,实现用查表方式将片内RAM中16进制数组Hex(00H~0FH)转换为ASCⅡ码并存入片内RAM数组Asc中。要求:

16进制数(00H~0FH)ASCⅡ码表在内部ROM中; R0为片内RAM区Hex数组指针; R1为片内RAM区Asc数组指针; 数据块长度放在寄存器R2中。代码如下:

ORG 0000H

Hex EQU 40H

;内部Hex送数据地址定义

Asc EQU 50H;查表后数据储存地址定义

LJMP MAIN

ORG 0030H MAIN:

MOV R2,#16

MOV DPTR,#TABLE

MOV R0,#Hex

编者:方园

MOV R1,#Asc

MOV SP,#2FH

LCALL FUZHI;送值函数

LCALL CHABIAO;查表函数

SJMP $

ORG 1000H;查表子程序 CHABIAO:

PUSH 00H

PUSH 01H

PUSH 02H LOOP1:

MOV A,@R0

ADD A,#20H

MOVC A,@A+PC

MOV @R1,A

INC R0

INC R1

DJNZ R2,LOOP1

POP 02H

POP 01H

POP 00H

RET

;R0送值子程序 FUZHI:

PUSH 00H

PUSH 01H

PUSH 02H

MOV A,#0 LOOP2:

MOV @R0,A

INC R0

INC A

DJNZ R2,LOOP2

POP 02H

POP 01H

POP 00H

RET

编者:方园

TABLE:

DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H

END

4.十进制数1-100累加运算

《单片机原理及应用实验教程》(第2版)“第2章 实验5”(P30)。编写程序,实现以下功能:

【功能1】产生十进制数1~100,并存放在片外RAM中以1000H为首地址的Deci数组中。【功能2】对Deci数组元素进行累加运算,并将累加和存入内部RAM中60H(存累加和低位)和61H(存累加和高位)单元。代码如下: 方法一:

ORG 0000H

LJMP MAIN

ORG 0030H MAIN:

MOV R7,#100

MOV DPTR,#1000H

MOV SP,#20H

LCALL STEP1

LCALL STEP2

SJMP $

ORG 2000H

STEP1: PUSH 07H

PUSH DPH

PUSH DPL

MOV A,#0

MOV R3,#0 LOOP1: INC A

DA A

XCH A,R3

ADDC A,#0

MOVX @DPTR,A

INC DPTR

XCH A,R3

MOVX @DPTR,A

INC DPTR

DJNZ R7,LOOP1

POP DPL

编者:方园

POP DPH

POP 07H

RET

STEP2: PUSH 07H

PUSH DPH

PUSH DPL

MOV 60H,#0

MOV 61H,#0

MOV R3,#0

LOOP2: INC DPTR

MOVX A,@DPTR

ADD A,60H

DA A

MOV 60H,A

CLR A

ADDC A,61H

DA A

MOV 61H,A

INC DPTR

DJNZ R7,LOOP2

MOV A,#1

ADD A,61H

DA A

MOV 61H,A

POP DPL

POP DPH

POP 07H

RET

END

方法二:

ORG 0000H

LJMP MAIN

ORG 0030H MAIN:

MOV R7,#100

MOV DPTR,#1000H

MOV SP,#20H

编者:方园

LCALL STEP1

LCALL STEP2

SJMP $

ORG 2000H

;送值子函数

STEP1: PUSH 07H

PUSH DPH

PUSH DPL

MOV A,#0 LOOP1: INC A

DA A

MOVX @DPTR,A

INC DPTR

DJNZ R7,LOOP1

CLR A

ADDC A,#0

MOVX @DPTR,A

POP DPL

POP DPH

POP 07H

RET

;累加子函数

STEP2: PUSH 07H

PUSH DPH

PUSH DPL

MOV 60H,#0

MOV 61H,#0

LOOP2:

MOVX A,@DPTR

ADD A,60H

DA A

MOV 60H,A

CLR A

ADDC A,61H

DA A

MOV 61H,A

INC DPTR

DJNZ R7,LOOP2

MOVX A,@DPTR

ADD A,61H

DA A

编者:方园

MOV 61H,A POP DPL POP DPH POP 07H RET

END

5.DPTR指针应用

《单片机原理及应用实验教程》(第2版)“第2章 实验6”(P31)。编写程序,实现以下功能:

【功能1】产生十进制数组Deci(1~99),并存放在片内RAM中,Deci数组首地址为08H。【功能2】将Deci数组中的偶数元素全部送入外部RAM偶数区,首地址为2000H;将Deci数组中的奇数元素全部送入外部RAM奇数区,首地址为3000H;分别统计外部RAM偶数区和奇数区元素个数。代码如下:

ORG 0000H

LJMP MAIN

ORG 0030H MAIN:

MOV SP,#70H

MOV R7,#99

MOV R0,#08H

MOV R5,#0

MOV R6,#0

LCALL STEP1

LCALL STEP2

SJMP $

STEP1: PUSH 00H

PUSH 07H

MOV A,#1 LOOP1: DA A

MOV @R0,A

INC R0

INC A

DJNZ R7,LOOP1

POP 07H

POP 00H

RET

编者:方园

STEP2: MOV DPTR,#2000H

PUSH DPL

PUSH DPH

MOV DPTR,#3000H

MOV R3,DPH

MOV R4,DPL LP1: MOV A,@R0

MOV R2,A

JNB ACC.0,LOOP2

SJMP LOOP3

LOOP2: POP DPH

POP DPL

MOVX @DPTR,A

MOV A,R5

ADD A,#1

DA A

MOV R5,A

INC DPTR

PUSH DPL

PUSH DPH

SJMP NEXT

LOOP3: MOV DPH,R3

MOV DPL,R4

MOVX @DPTR,A

MOV A,R6

ADD A,#1

DA A

MOV R6,A

INC DPTR

MOV R3,DPH

MOV R4,DPL

SJMP NEXT

NEXT:

INC R0

DJNZ R7,LP1

POP DPH

POP DPL

RET

END

编者:方园

6.定时器应用实验

DBUF EQU 30H ORG 0000H STRT: LJMP MAIN ORG 000BH LJMP PTF00 ORG 0030H MAIN: MOV DPTR,#5FFFH MOV A,#0DCH MOVX @DPTR,A MOV R5,#20 LP: MOVX A,@DPTR JNB ACC.7,LP MOV A,#00H MOVX @DPTR,A MOV A,#34H MOVX @DPTR,A MOV SP,#60H MOV R0,#39H MOV R7,#06H ML1: MOV @R0,#00H INC R0 DJNZ R7,ML1 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 MOV IE,#82H MOV 40H,#10H ML0: LCALL DIR LJMP ML0 PTF00: PUSH PSW PUSH ACC SETB PSW.3 MOV TL0,#0B0H MOV TH0,#3CH

编者:方园

DJNZ R5,PTFY MOV R5,#20

MOV A,40H DEC A MOV 40H,A JNZ PTFY MOV 40H,#10H MOV R0,#39H MOV R7,#6 PTFX: MOV A,@R0 ADD A,#1 DA A MOV @R0,A CJNE A,#0AH,$+3 JC PTFY MOV @R0,#0 INC R0 DJNZ R7,PTFX PTFY: POP ACC POP PSW RETI DIR:

MOV R3,#06H MOV A,#92H MOV DPTR,#5FFFH MOVX @DPTR,A MOV R1,#39H TY11: MOV A,@R1 MOV DPTR,#CODE1 MOVC A,@A+DPTR MOV DPTR,#5FFFH MOVX @DPTR,A

INC R1 DJNZ R3,TY11 RET

CODE1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H

编者:方园

DB 83H,0C6H,0A1H,86H,8EH,8CH DB 0C1H,89H,0C7H,0BFH,91H DB 00H,0FFH END

7.广告灯实验

ORG 0000H LJMP MAIN ORG 000BH LJMP DELAY ORG 0030H MAIN: MOV DPTR,#TAB MOV R5,#71H MOV R2,#00H MOV R6,#20 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 MOV IE,#82H SJMP $ DELAY: MOV TL0,#0B0H MOV TH0,#2CH

DJNZ R6,LP ACALL STEP MOV R6,#20 DJNZ R5,LP MOV R5,#71H

LP: RETI

STEP: LOOP: MOV A,R2 MOVC A,@A+DPTR MOV P1,A INC R2 DEC R5

编者:方园

RET

TAB:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH

DB 0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH

DB 0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H

DB 80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH

DB 0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H

DB 01H,00H,01H,03H,07H,0FH,1FH,3FH

DB 7FH,0FFH,7EH,3CH,18H,00H,18H,3CH

DB 7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H

DB 0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH

DB 0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH

DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H

DB 80H,40H,20H,10H,08H,04H,02H,01H,00H

DB 01H,02H,04H,08H,10H,20H,40H,80H,00H

DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH END

下载Excel VBA常用代码总结1(精选合集)word格式文档
下载Excel VBA常用代码总结1(精选合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    DSP-C代码优化总结

    代码优化总结 在优化一段代码之前,首先要找出这段程序中最消耗时间的那一段程序,对最耗时程序段的优化会带来很大的优化效果收益。 一般而言,这个最耗时的程序一般位于一个循......

    代码检查

    代码检查 摘要:代码检查是白盒测试的一种静态测试方法,是众多软件测试方法中发现软件缺陷最有效的方法之一。本文结合国内外学者在相关领域的研究情况,介绍代码检查相关的基本......

    中学代码

    010407师大附中 010301西安市第一中学 010202西安市第八十三中 010527西安中学 010101西安高级中学 碑林区 学校代码学校名称 010101西安高级中学(重点) 010102西工大附中(重点......

    部门代码

    部门代码 总经理:GMD 行政人事部:AD 技术部:TD 发展部:RDD 宣传部:PD 策划部:SD 工程部:ED 造价部:EC 财务部:ACD 投融资部:FD 战略计划部:SPD 招标合约部:BCD 审计部:ADD 招商部:MD 研......

    数据库上机实验总结(含代码)

    实验一 (1)无条件单表查询 select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student; (2)有条件单表查询 SELECT sname,sdept,sage......

    网站建设基础HTML代码总结

    网站建设基础HTML代码总结 1、title “擒贼先擒王”而这个王就是网站的title,网站最关键的就是一个页面中的TITLE,注意,在我们自己一个网站上所有的TITLE不要一模一样,如果是一......

    WebService客户端代码生成方式总结

    一、Webservice可以使用的框架很多。AXIS、CXF 、JAX、XFIRE,这些框架都可以根据wsdl文件生成ws的服务器和客户端代码。 二、Ws的调用方式有三种,http post、http get、soap p......

    flash常用代码总结五篇范文

    1、flash停顿多少秒后播放 setInterval()在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码 setTimeout()只执行一次那段代码 两个方法用法一样 1、如......