计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 6032|回复: 13

什么是宏

  [复制链接]
发表于 2010-11-26 15:19:00 | 显示全部楼层 |阅读模式
本帖最后由 王梦瑶 于 2010-11-26 17:44 编辑

什么是宏       
        计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。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)

点评

牛人啊  发表于 2011-8-8 08:53
 楼主| 发表于 2010-11-26 15:20:20 | 显示全部楼层
本帖最后由 王梦瑶 于 2010-11-26 15:20 编辑

在EXCEL添加宏
可以录制宏。工具-宏-录制新宏。
然后,你的每一步操作都会被记录在宏里。
也可以Alt+F11,插入-模块,然后自己编制VBA程序就是宏。
发表于 2010-11-26 15:29:27 | 显示全部楼层
学习了!非常感谢
发表于 2010-11-26 16:23:16 | 显示全部楼层
hao nan li jie a
发表于 2010-11-27 09:02:07 | 显示全部楼层
   又多了一点了解   真棒这个论
发表于 2010-11-27 11:13:01 | 显示全部楼层
了解,支持。
发表于 2010-11-27 11:14:25 | 显示全部楼层
帖子发错了  这帖子 就不是菜鸟应该了解的东西 也许你了解了  但这些对于菜鸟们 太深奥了

点评

这是昨天有一位会员在群里问的问题我才发到这里来的  发表于 2010-11-27 11:21
发表于 2010-11-27 11:30:54 | 显示全部楼层
你认为菜鸟适合学这个么   如果说是了解 也不属于菜鸟了解的东西    这个宏命令  有点深层次了

点评

我发的这个帖子讲的好像不是宏命令吧,是概念吧,一些基础的东西,什么叫做不应该是菜鸟了解的东西?菜鸟就不可以学吗?  发表于 2010-11-27 11:37
发表于 2010-11-27 11:41:49 | 显示全部楼层
什么是宏
  简单来说,WOW每个操作就是一个命令(包括说话,释放魔法等等等等),而宏就是一组命令集,也就是根据你的要求同时完成一组命令
这是宏最基本的意思   它在计算机中就是个命令   
既然发了  我不反对    只是觉得帖子不应该出现在这
发表于 2010-11-27 14:31:05 | 显示全部楼层
路过 学习学习  顶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表