什么是宏
计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。Excel 办公软件自动集成了“VBA”高级程序语言,用此语言编制出的程序就叫“宏”。使用“VBA”需要有一定的编程基础和耗费大量的时间,因此,绝大多数的使用者仅使用了Excel的一般制表功能,很少使用到“VBA”。
解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,使用“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。
宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。
计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C 程序员可以获得更精巧的宏。
Lisp类语言如Common Lisp和Scheme有更精巧的宏系统: 宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。
获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种Lisp 方言有 cond 而没有if ,就可以使用宏由前者定义后者。Lisp 语法的去部主要扩展,比如面向对象的CLOS 系统,可以由宏来定义。
宏的典型应用
加速日常编辑和格式设置
组合多个命令
使对话框中的选项更易于访问
使一系列复杂的任务自动执行
宏编程介绍
在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains账务(?accounting)软件的 Dexterity 运行时引擎,不能从其它数据源(如由逗号分隔的文本文件)导入数据。这一限制可以通过用更强大的编程语言,如 VBA 来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。例如,可以对 Microsoft Excel 宏编程从扩展样式表或文本文件中读取数据并创建 Great Plains .mac 文件,这一文件被用于将特定的数据导入 Great Plains. 需要针对每一个新的数据集合声称新的 .mac 文件。
键盘宏
键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式。
程序员的文本编辑器 Emacs (“编辑宏”[Editing MACroS]的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的,Emacs 最初被设计为编辑语言 TECO 的宏集,后被移植为 Lisp 的一中方言 Emacs Lisp。
宏语言
宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如,
C preprocessor C 预处理器
Internet Macros(iOpus)
M4(如前所述,源于AT&T,捆绑于Unix)
宏定义
c程序提供的预处理功能之一。包括带参数的宏定义和不带参数的宏定义。具体是指用一个指定的标志符来进行简单的字符串替换或者进行阐述替换。形式为:
#define 标志符(参数表) 字符串
宏名
在上定义中的标志符被称为“宏名”。
宏展开
在c程序编译时将宏名替换成字符串的过程称为“宏展开”。
微软Word和宏病毒
Visual Basic for Applications (VBA),是 Microsoft Office 里的一种编程语言. 但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程序的宏思想,所以他被广泛地错误地称为是一种宏语言。
VBA 可以访问许多操作系统函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如openoffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。
分享到:
相关推荐
首先,需要理解什么是宏(Macro)。在PADS中,宏是一种用于简化重复性任务的自动化脚本,它可以通过录制用户操作自动生成一系列的命令代码,然后在需要的时候重放,以达到自动化执行特定操作的目的。尽管宏录制功能...
1. **宏的基本概念**:介绍什么是宏,以及宏在罗技设备中的作用,解释宏的录制、编辑和播放过程。 2. **LUA语法基础**:简述LUA语言的基础知识,包括变量、数据类型、控制结构(如循环、条件语句)、函数等。 3. *...
首先,我们需要了解什么是宏。宏是一种预定义的命令序列,可以将一系列复杂的操作捆绑在一起,通过一个简单的触发动作执行。在罗技鼠标中,宏功能允许用户自定义按键行为,例如连续点击、快速移动或执行特定的游戏...
首先,我们来了解什么是宏。宏是在Excel中预定义的一系列操作,可以用来执行重复的任务,节省时间和精力。用户可以通过录制宏来创建自定义功能,也可以手动编写VBA(Visual Basic for Applications)代码来实现更...
1. **宏定义**:首先,你需要了解什么是宏,宏是预先定义的一系列按键操作,可以一键执行,节省玩家在游戏中的反应时间。 2. **罗技G502鼠标设置**:G502是一款高级游戏鼠标,拥有多个可编程按键和自定义DPI设置。...
首先,我们来了解一下什么是宏。宏是一系列预设的命令,可以让玩家通过一次按键操作来执行多个动作。在《绝地求生》这类需要高度反应和精准操作的游戏中,宏的出现大大简化了游戏过程中的复杂操作。例如,玩家可以将...
1. **什么是宏出招编辑器?** 宏出招编辑器允许用户编写和修改游戏中的宏命令,这些命令通常对应于游戏中角色的特定动作或技能。通过编辑宏,玩家可以改变招式的输入方式,使其更符合个人的操作习惯,或者创建新的...
首先,让我们了解一下什么是宏。宏是一种编程语句集,通常用于Microsoft Office应用程序,如Word、Excel和PowerPoint。它们可以记录用户的动作并将其转化为可执行的代码,也可以由用户手动编写,实现更复杂的逻辑。...
什么是宏程序?宏程序是一种高级编程语言,用于自动化复杂的任务和过程。宏程序可以根据特定的规则和逻辑来执行命令,提高工作效率和准确性。学习宏程序可以让您快速掌握复杂的编程技术,提高工作效率和自动化程度。...
一、什么是宏命令? 宏命令是一种可以用来快速完成复杂命令的工具。在游戏中,宏命令可以用来完成各种任务,如战斗中发布命令、快速施法、自动选择目标等。宏命令的使用可以大大提高游戏体验,提高游戏效率。 二、...
首先,我们需要了解什么是宏。在Excel中,你可以通过“开发工具”菜单下的“录制宏”功能记录一系列操作,然后通过宏命令一键执行这些操作。如果你想要生成随机数,而不是手动输入,宏就显得尤为有用。例如,你可以...
首先,我们要理解什么是宏。在VC中,宏是通过#define关键字定义的,它将一个标识符替换为指定的文本。例如,你可以定义一个宏来代替常量,或者创建一个简单的函数式宏,执行简单的计算。而当我们谈到自定义代码注释...
首先,了解什么是宏。在C/C++中,宏是一种预处理器指令,它允许程序员在编译阶段替换特定的标识符或文本。宏定义通常以`#define`开头,例如`#define PI 3.14159`,这样在编译时,所有出现的`PI`都会被替换为3.14159...
首先,让我们理解什么是宏。在Visual Studio中,宏是一种自动化功能,允许用户录制一系列操作,并将其保存为一个命令,以便将来重复使用。通过使用宏,你可以将常见的编程任务,比如添加特定格式的注释,自动化。在...
首先,让我们了解什么是宏文件。在Source Insight中,宏文件(通常扩展名为.SI或.SCM)是一系列命令和函数的集合,这些命令和函数可以执行一系列操作,如自动完成、高亮显示、跳转到定义等。用户可以通过宏文件定制...
首先,我们需要了解什么是宏。宏是Microsoft Office应用程序(如Word)中的一个功能,它允许用户录制并存储一系列操作,以便在未来重复执行这些操作。通过VBA(Visual Basic for Applications)编程语言编写宏,我们...
首先,我们来了解什么是宏。宏是由Visual Basic for Applications (VBA)代码组成的序列,它可以模拟用户的键盘和鼠标操作。通过录制宏,用户可以保存一系列步骤,然后只需一键就能重播这些操作,避免了手动重复工作...
1. **什么是宏** 在Source Insight中,宏是一种自定义命令,可以执行一系列操作,比如查找特定的函数或变量,自动格式化代码,或者实现复杂的文本替换。用户可以通过编写自己的宏脚本来提高工作效率。 2. **宏的...