对Excel 4.0宏的困惑,它是什么?

时间:2016-12-30 20:08:40

标签: excel vba macros

所以今天我在VB开发人员窗口中编写了一些VBA代码,我需要创建一个新的电子表格。因此,当我尝试插入新表时,我注意到其中一个给了我多个选项,我可以选择插入。一个显然是“工作表”,另一个叫做“MS Excel 4.0宏”。所以我选择了“MS Excel 4.0 Macro”,它看起来与新工作表完全相同。我只是好奇普通工作表和MS Excel 4.0宏表之间有什么区别?

请帮忙!

谢谢!

2 个答案:

答案 0 :(得分:0)

答案。

旧方法是将宏记录为事件链,而不使用VBA。

我的故事。

我大量使用旧式宏,我有数百个。当微软将宏转移到VBA时,它们无法转换旧的,所以我一眼就看不到它们。我的一个宏非常复杂,在Mac SE上像梦一样。我认为它在科学价值方面非常珍贵,因为它使用氚在含有大量输入功能数据表的地下蓄水层中进行观测。它使用几个数学模型计算地下水的停留时间,并更新五个图表,这些图表使用用户为使用的模型引入的输出数据。我通过EMU仿真硬件,现代Mac和现代Windows PC使用复杂程序将此宏文件保存到Windows PC,但是文件不会像在引入VBA之前那样运行。这是一种悲伤的损失,并且会把损失视为犯罪。

在我将其备份到某处之前,请不要删除此故事。当我把它发布到更合适的地方时,我保证会将其删除。

答案 1 :(得分:0)

<块引用>

历史
从它的第一个版本开始,Excel 就支持宏的最终用户编程(重复任务的自动化)和用户定义的函数(Excel 内置函数库的扩展)。在 Excel 的早期版本中,这些程序是用宏语言编写的,其语句具有公式语法并驻留在专用宏表的单元格中(在 Windows 中以文件扩展名 .XLM 存储。)XLM 是 Excel 的默认宏语言Excel 4.0。从 5.0 版开始,默认情况下 Excel 在 VBA 中录制宏,但在 5.0 版 XLM 录制中仍然允许作为选项。在 5.0 版之后,该选项已停止使用。所有版本的 Excel,包括 Excel 2010 都能够运行 XLM 宏,但 Microsoft 不鼓励使用。

https://en.wikipedia.org/wiki/Microsoft_Excel

MS Excel 4.0 宏表的目的是运行旧版 Excel 4.0 宏。微软在 1993 年用 VBA 取代了 Excel 4.0 宏,但它们仍然可以运行。现在(将近 30 年后),恶意方(黑客)最广泛地使用它。

例如,您可以在 A1:A2 中输入以下内容:

=EXEC("calc.exe")
=HALT()

然后,要运行它(打开计算器),您需要右键单击 A1 并选择 Run... -> Run。将计算从单击的单元格向下的所有公式。

enter image description here

PDF containing the complete Excel 4.0 macro functions reference