打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
自学VBA,更进一步了解Workbook

昨天有写到,一个Excel文件就是一个Workbook工作簿,一个文件就会有它存储地址、名称、全路径,我们怎么通过VBA代码来获取了?如下:ThisWorkbook 代表的是当前正在操作的工作簿,通过Workbook的Name、Path、FullName就可以获取到这些信息。

在写VBA的时候,我们又怎么通过代码来创建一个新的Excel工作簿了?同样使用Workbooks对象的Add方法就可以创建了,如下图:

Sub AddNewWorkbook()

Workbooks.AddActiveWorkbook.SaveAs Filename:='C:\Users\HP-PC\Desktop\工作簿1.xlsx', FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub

新通过Add方法创建一个新的工作簿,然后通过SaveAs存储到对于的文件夹中,你可以按照我贴的代码自己执行看一下效果。这里要注意,在SaveAs中有一个 FileFormat参数,表示我们在存储工作簿的时候要存储为什么类型,如不同的xls/xlsx工作簿,或者xlsm可以保存VBA宏代码的工作簿等等,有4总类型。大家可以自己试一试。我们创建了一个新的工作簿了,但是我想打开一个已经存在的工作簿怎么编写VBA代码了,看如下代码:

Sub OpenWorkbook()

Workbooks.Open Filename:='C:\Users\HP-PC\Desktop\工作簿1.xlsx', UpdateLinks:=False, ReadOnly:=True

End Sub通过Open的方法来打开一个存在的工作簿,大家看我后面还给了两个其他的参数,这个是我们在使用过程中会经常加上的。第一个ReadOnly,如字面意思,就是以只读方式打开还是可写的方式打开,只读的方式打开的时候对于工作簿内修改将不会动到原始的文件,非只读方式打开就可以保存对工作簿的修改了。第二个Updatelinks,有一种场景,Excel内容不多,但是打开却非常的慢,不管是自己手动双击打开,还是通过VBA代码去打开都很慢,其实很有可能是因为你打开的这个Excel关联了其他的Excel,所以导致你打开的时候会去引用其他的Excel而慢了。UpdateLinks的设置就是,为True表示加载关联项,未False表示不加载关联项,在设置了False以后你会发现Excel打开的速度快多了。

最后一个要吧打开的工作簿关闭掉,使用Close方法,如下代码和截图:

Sub CloseWorkbook()

Workbooks(1).Close SaveChanges:=False

End Sub

运行一下,第一个工作簿关闭了,可以试一试。 SaveChanges参数表示存储的时候是否需要保存对工作簿的修改,True表示要保存修改,如果为False忽略修改

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用VBA打开、关闭、新建、保存和删除Excel工作簿 | VBA实例教程
如何在离职一个月后,让自己曾经辛苦制作的Excel模板优雅的自动报废?
用VBA操作工作簿
Excel [已解决](已解决)求助 关闭工作簿时不用提示是否保存的VBA代码
自学资料(Excel VBA)[收集整理10]
VBA简单入门23:操作(新建、保存、复制、删除、拆分)工作簿
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服