VBA基础,工作簿workbook相关的方法和属性
程序员文章站
2022-05-07 17:24:46
...
1 VBA 和 Application--Excel下的命名系统
fullname= path+ "\" + name
- ThisWorkbook.FullName 文件全名
- ThisWorkbook.Path 文件路径
- ThisWorkbook.Name 文件名
- ThisWorkbook.FullName = ThisWorkbook.Path + "\" + ThisWorkbook.Name
2 workbook 和 workbooks,对象和对象的集合
2.1 workbook是对象
- 工作簿是EXCEL的对象之一
- workbook 只能指代 每个单独的workbook
- 特殊workbook的用法
- thisworkbook
- activeworkbook
2.2 workbooks是EXCEL的属性,也表示excel下所有workbook的集合
- 工作簿的集合,其实是Application的属性 application.workbooks
- workbooks (即代表 application.workbooks)
- 比如Workbooks.Add 等于 Application.Workbooks.Add
2.3 对象只属于对象集合,而不属于上级对象
- 正确 for each wb1 in application.workbooks
- 错误 for each wb1 in application
- 错误 for each wb1 in application.workbook
3 workbooks.add 方法 (Application.Workbooks.Add)
- workbooks.add 会新建一个新工作薄
- 但是需要用 workbook.saveas fullname 保存才行
- 因为每次新建的工作簿刚好是**的,所以用 activeworkbook.saveas fullname
Public Sub test_wb1()
Debug.Print ThisWorkbook.Path
Debug.Print ThisWorkbook.FullName
Debug.Print ThisWorkbook.Name
Application.Workbooks.Add
ActiveWorkbook.SaveAs "C:\Users\Administrator\Desktop\t2.xls"
Workbooks.Add
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "t3.xls"
End Sub
4 workbook的保存 save saveas savecopyas
4.1 文件保存的三种方式,新建文件要用saveas
- save
- 只是保存文件内容,文件如果是新建的,未保存文件本身。已经保存路径的文件自动保存。
- saveas fullname
- savecopyas fullname
- 将文件的副本另外为一个新文件,文件本身如果是新建的,仍然没保存本身。
Public Sub test_wb2()
Application.Workbooks.Add
ActiveCell = 1
ActiveWorkbook.Save
Workbooks.Add
ActiveCell = 11
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "t2.xls"
Workbooks.Add
ActiveCell = 111
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & "t3.xls"
End Sub
4.2 文件保存时的报错
- 如果保存的文件名重复,会报错
4.3 文件保存时,文件类型的报错
- 如果选择保存的是 .xlsm 会报错
- 可能是因为安全等级的原因,不让直接创建xlsm这种后缀名文件
5 workbooks.open 工作簿必须先打开才可以操作内容
- 工作簿的打开:工作簿如果没打开,操作其中内容,会提示 下标越界
- 前台打开
- 后台打开
5.1 如果想修改 未打开的工作簿里的内容--会报错:下标越界
上一篇: 第四章 循环结构程序设计
下一篇: JavaScirpt第三章:节点