到此为止,我们已经让VBA弹出了一个对话框,接下来保存文件。
之后,我们发现,我们写的代码在"工作簿2.xlsx"中消失了。
接下来,我们聊聊怎么把代码保存到Excel中。
4. 如何将VBA保存到Excel文件在默认情况下,office 文件(.xls,.xlsx,*.doc...)不允许保存宏(VBA代码),这个时候就需要将我们的文件保存为一种特殊的可以包含宏脚本的文件格式,对于Excel来说,执行如下过程保存:
1. 点击 "文件"-->"另存为" 2. 选择文件格式为"Excel启用宏的工作簿" 3. 点击"保存"点击保存之后,我们就得到了我们的目标文件。
最后,我们发现,我们的文件扩展名变成了"xlsm",这就是我们要保存的目标文件了,我们的脚本就保存在这个文件中。
关闭当前Excel,然后再打开新文件,我们发现,我们的脚本已经原样保存了:
5. 为你的VBA脚本创建一个快捷键如果我们要运行一段代码,每次都要打开代码编辑器,然后去点击启动按钮,也太麻烦了。那么有没有一种快速运行代码的方法呢?答案当然是肯定的,那就是为代码设置一个快捷键。
设置快捷键的过程如下:
1. 在Excel中选择"开发工具"面板,点击"宏"按钮 2. 在弹出的宏对话框中,选中要执行的宏,这里为"Sheet1.SayHello",之后点击右侧的"选项"按钮 3. 在弹出的"宏选项"对话框中,在快捷键输入快捷键,这里以 r 为例点击"确定"按钮之后,激活当前Excel窗体,按下 "Ctrl + r"快捷键,我们发现弹出了我们要的消息框,如下:
6. VBA如何创建一个Excel文件经历以上内容,我们已经可以打开Visual Basic编辑器,可以写代码,可以将代码保存到文件,最终,我们还为我们的代码执行创建了快捷键。
那么接下来,为了给我们的邮件添加一个附件,我们需要先创建一个新的Excel工作簿文档,怎么做呢?
在我们写代码之前,请先参考如下资料:
了解 Visual Basic 语法
https://docs.microsoft.com/zh-cn/office/vba/language/concepts/getting-started/understanding-visual-basic-syntax
Office VBA入门
https://docs.microsoft.com/zh-cn/office/vba/library-reference/concepts/getting-started-with-vba-in-office
Application 对象 (Excel Graph)
https://docs.microsoft.com/zh-cn/office/vba/api/excel.application-graph-object
在了解以上信息之后,我们不难理解如下代码:
Sub SayHello() ' 定义一个变量,用于引用新建的 Workbook Dim newWorkbook As Workbook ' 新增一个 Workbook,并引用 Set newWorkbook = Workbooks.Add On Error GoTo E ' 将新建的 Workbook 保存到 "D:\xx.xlsx" 路径。 ' 这里如果文件已存在,会提示是否覆盖. ' 路径要使用 '\' 进行目录隔离,使用'http://www.likecs.com/'会报错 newWorkbook.SaveAs ("D:\xx.xlsx") On Error GoTo Dispose Dispose: ' 最后,关闭新建的 Workbook。 newWorkbook.Close E: End Sub