欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

VBA基础,工作簿workbook相关的方法和属性

 

 

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

 

VBA基础,工作簿workbook相关的方法和属性

VBA基础,工作簿workbook相关的方法和属性

 

 

4.2 文件保存时的报错

  • 如果保存的文件名重复,会报错

VBA基础,工作簿workbook相关的方法和属性

 

 

4.3 文件保存时,文件类型的报错

  • 如果选择保存的是 .xlsm  会报错
  • 可能是因为安全等级的原因,不让直接创建xlsm这种后缀名文件
  •  

VBA基础,工作簿workbook相关的方法和属性

 

 

5 workbooks.open   工作簿必须先打开才可以操作内容

  • 工作簿的打开:工作簿如果没打开,操作其中内容,会提示  下标越界
  • 前台打开
  • 后台打开

 

 

5.1 如果想修改 未打开的工作簿里的内容--会报错:下标越界

 

VBA基础,工作簿workbook相关的方法和属性