作者:aotu蛮 | 来源:互联网 | 2023-05-19 16:30
本文主要介绍关于vba的知识点,对【Excel-VBA快速上手(五、工作簿对象、Excel文件的常用操作)】和【如何使用EXCEL的VBA函数进行编程】有兴趣的朋友可以看下由【三叔笔记】投稿的技术
本文主要介绍关于vba的知识点,对【Excel-VBA 快速上手(五、工作簿对象、Excel 文件的常用操作)】和【如何使用EXCEL的VBA函数进行编程】有兴趣的朋友可以看下由【三叔笔记】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的VBA-Excel相关技术问题。
如何使用EXCEL的VBA函数进行编程
文章目录 一、工作簿对象1.1 获取 Excel 文件对应的工作簿对象 二、工作簿对象操作 Excel 的常见用法2.1. 新建并打开 Excel 文件2.2. 关闭 Excel 文件2.3. 保存 Excel 文件2.4. Excel 文件另存为 三、Excel 文件其他常见操作3.1. 判断 Excel 是否存在3.2. 判断 Excel 是否打开3.3. 复制 Excel 文件3.4. 删除 Excel 文件
一、工作簿对象
工作簿指的是 Excel 文件,vba 提供了专门操作 Excel 文件的对象 Workbook
,既工作簿对象,通过该对象,我们
可以获取到 Excel 文件的信息,以及可以对 Excel 文件进行处理,如:新建、保存、删除、复制等
1.1 获取 Excel 文件对应的工作簿对象
根据场景不同,获取工作簿对象的方式也不相同,本文列举几个常见的获取工作簿对象的方式
1. 通过 Excel 的打开顺序,获取工作簿对象
通过 Excel 的打开顺序,获取 Excel 文件对应的工作簿对象,顺序从 1 开始累计,比如先打开 a.xls 又打开 b.xls,
那么 a.xls 的顺序就是1,b.xls 的顺序就是 2,核心语法: Workbooks(N)
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks(1)
Debug.Print wb.Name
End Sub
2. 通过已打开的 Excel 文件的文件名,获取工作簿对象
通过已打开的 Excel 文件的文件名,获取 Excel 文件对应的工作簿对象,核心语法: Workbooks(Name)
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks("学习VBA")
Debug.Print wb.Name
End Sub
3. 获取正处于激活状态的 Excel 文件的工作簿对象
获取正处于激活状态的 Excel 文件的工作簿对象,核心语法: ActiveWorkbook
,激活状态可以简单理解为,当有
多个 Excel 文件打开时,目前正处于显示的那个 Excel 文件即为激活状态
Public Sub main()
Dim wb As Workbook
Set wb = ActiveWorkbook
Debug.Print wb.Name
End Sub
4. 获取正在执行代码的工作簿对象
获取正在运行代码的 Excel 文件所对应的工作簿对象,核心语法: ThisWorkbook
,如果当前是 a.xls 在执行 vba 代
码,那么 ThisWorkbook
返回的就是 a.xls 对应的工作簿对象
Public Sub main()
Dim wb As Workbook
Set wb = ThisWorkbook
Debug.Print wb.Name
End Sub
5. 打开 Excel 文件并获取其对应的工作簿对象
打开 Excel 文件并获取其对应的工作簿对象,核心语法: Workbooks.Open(文件路径)
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\Administrator\Desktop\测试.xls")
End Sub
二、工作簿对象操作 Excel 的常见用法
2.1. 新建并打开 Excel 文件
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks.Add
wb.SaveAs "C:\Users\Administrator\Desktop\新创建的Excel文件.xls"
wb.Sheets("sheet1").Range("a1") = "这是新创建的Excel文件"
End Sub
2.2. 关闭 Excel 文件
代码中第 6 行的 wb.Close True
是关闭并保存的意思,如果仅关闭不保存就写 False
就可以
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\Administrator\Desktop\测试.xls")
wb.Close True
End Sub
2.3. 保存 Excel 文件
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\Administrator\Desktop\测试.xls")
wb.Save
End Sub
2.4. Excel 文件另存为
Public Sub main()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\Administrator\Desktop\测试.xls")
wb.SaveCopyAs "C:\Users\Administrator\Desktop\测试2.xls"
End Sub
三、Excel 文件其他常见操作
3.1. 判断 Excel 是否存在
Public Sub main()
If Len(Dir("C:\Users\Administrator\Desktop\测试2.xls")) = 0 Then
Debug.Print "文件不存在!"
Else
Debug.Print "文件存在!"
End If
End Sub
3.2. 判断 Excel 是否打开
主要是通过循环所有打开的 Excel 窗口来进行名称匹配
Public Sub main()
Dim index As Integer
For index = 1 To Windows.Count
If Windows(index).Caption = "测试2.xls" Then
Debug.Print "文件已被打开!"
End If
Next index
End Sub
3.3. 复制 Excel 文件
FileCopy
的第一个参数是源文件路径,第二个参数是复制后的目标路径
Public Sub main()
FileCopy "C:\Users\Administrator\Desktop\测试.xls", "C:\Users\Administrator\Desktop\测试-复制后.xls"
End Sub
3.4. 删除 Excel 文件
Public Sub main()
Kill "C:\Users\Administrator\Desktop\测试-复制后.xls"
End Sub
本文《Excel-VBA 快速上手(五、工作簿对象、Excel 文件的常用操作)》版权归三叔笔记所有,引用Excel-VBA 快速上手(五、工作簿对象、Excel 文件的常用操作)需遵循CC 4.0 BY-SA版权协议。