excel宏编程 c语言,宏(巨集)

excel宏编程 c语言,宏(巨集)宏(Macro,巨集),是一种批处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作…

大家好,又见面了,我是你们的朋友全栈君。

宏(Macro, 巨集),是一种批处理的称谓。

计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力——但这常常是一回事。

计算机语言如C语言或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C 程序员可以获得更精巧的宏。

Lisp类语言如Common Lisp和Scheme有更精巧的宏系统: 宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个 C 宏可以定义一段语法的替换,然而一个 Lisp 的宏却可以控制一节代码的计算。

获得了控制代码的执行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种 Lisp 方言有 cond 而没有 if ,就可以使用宏由前者定义后者。Lisp 语法的去部主要扩展,比如面向对象的 CLOS 系统,可以由宏来定义。

MacroML有型别语法宏,一种有效的理解方式是把这种语法宏看作是多阶段计算。

== 宏编程 ==

在用一种不熟悉的宏语言进行宏编程时,可以这样做,首先记录下用户想要宏完成什么,然后打开宏文件并尝试理解命令结构如何工作。也可以修改命令以调整宏。一些宏语言,比如Great Plains会计软件的 Dexterity 运行时引擎,不能从其它数据源(如由逗号分隔的文本文件)导入数据。这一限制可以通过用更强大的编程语言,如VBA来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。例如,可以对Microsoft Excel宏编程从扩展样式表或文本文件中读取数据并创建 Great Plains .mac 文件,这一文件被用于将特定的数据导入 Great Plains. 需要针对每一个新的数据集合生成新的 .mac 文件。

== 宏应用 ==

应用程序也可以使用一种和宏类似机理的系统来允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤。也就是用户执行一系列操作,并且让应用程序来“记住”这些操作以及顺序。更高级的用户可以通过内建的宏编程来来直接使用那些应用程序的功能。

当使用一种不熟悉的宏语言来编程时,比较有效的方法就是记录一连串用户希望得到的操作,然后通过阅读应用程序记录下来的宏文件来理解宏命令的结构组成。

== 键盘宏 ==

键盘宏和编辑器宏分别在图形用户界面和编辑器中被交互式地使用。使用它们可以用简短的击键代替冗长的命令序列,并为重复性任务提供了一个简单的自动化形式,但2009年已经有所改变。

程序员的文本编辑器Emacs(“编辑宏”Editing MACroS的简称)是沿用这一思想的产物。事实上,大多数编辑器是由宏组成的。Emacs 最初被设计为编辑语言 TECO 的宏集,后被移植为 Lisp 的一种方言 Emacs Lisp。Vim也允许用户录制和播放简单的键盘宏。

== 宏语言 ==

宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如:预处理器

Internet Macros(iOpus)

M4(如前所述,源于AT&T,捆绑于Unix)

== 微软Word和宏病毒 ==

Visual Basic for Applications|Visual Basic for Applications (VBA),是 Microsoft Office 里的一种编程语言. 但由上面的定义,它完全不是一种宏语言。然而,它的功能已经从中发展并最终替代了用户应用程序的宏思想,所以它被广泛地错误地称为是一种宏语言。

VBA可以访问许多操作系统函数并支持文档打开时自动执行宏。这使得用这种语言写计算机病毒成为可能。1990年代中后期,宏病毒成为了最流行的计算机病毒类型之一。其它的包括宏语言的项目,如OpenOffice.org,故意从其宏语言中排除了一些功能(如:自动执行)以避免破坏程序。然而,这一特性在很多事务中受到欢迎。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133568.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月8日 上午10:00
下一篇 2022年6月8日 上午10:00


相关推荐

  • 10分钟,29元!7×24 专属 openclaw 助理即刻上岗,简单到离谱!

    10分钟,29元!7×24 专属 openclaw 助理即刻上岗,简单到离谱!

    2026年3月12日
    3
  • telnet如何连接_telnet使用方法

    telnet如何连接_telnet使用方法目录准备的东西开启服务连接准备的东西两台主机这里设主机A和主机B用主机A访问主机B开启服务两台电脑都要开telnet服务这时候连接你会发现连不上,提示23端口未打开。看一下,确实没有打开23端口。启动之后23端口就打开了。如下图所示连接连接过程中,会提示这个错误。是因为我们用A访问B时,用的B主机上面的账户。但是B主机的账户并没有在TelnetClicents这个组里。在B主机里把账户添加到这个组就可以连接了。…

    2025年11月21日
    4
  • Linux中密码登录redis客户端

    Linux中密码登录redis客户端#redis一、查找redis服务ps-ef|grepredis5061282712771015:29pts/000:00:00grepredisroot2395310Mar03?13:43:16/data/database/meijiesit_6379_redis/bin/redis-server0.0.0.0:63792.cd到redis的bin目录./redis-cli启动客户端查找key发现需要

    2022年5月26日
    54
  • gpio引脚介绍 树莓派3b_树莓派3bgpio引脚介绍[通俗易懂]

    gpio引脚介绍 树莓派3b_树莓派3bgpio引脚介绍[通俗易懂]第4章GPIO接口本章内容:?GPIO接口时通用输入输出端口,通俗的说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚状态——是高电平还是低电平。…更强的“盒子”树莓派3B型主板性能、功能增强,带来更广泛的应用领域。树莓派3B保持了B型树莓派的外形尺寸和接口布局,而性能升级是它最大的变化,……树莓派3B系列的人脸识别实验室门禁系统朱琳,…

    2022年6月25日
    34
  • 实例3、研究 ICMP 数据包

    实例3、研究 ICMP 数据包拓扑图如下 文件 pka rar 大小 34KB 下载 下载学习目标了解 ICMP 数据包的格式使用 PacketTracer 捕获并研究 ICMP 报文简介 Wireshark 可以捕获和显示通过网络接口进出其所在 PC 的所有网络通信 PacketTrace

    2026年3月16日
    2
  • 靠谱的ChatGPT Plus拼车合租教程及合租平台推荐

    靠谱的ChatGPT Plus拼车合租教程及合租平台推荐

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号