Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5136|回复: 7

[分享] 【烟花原创】VBA零基础之第36篇 Workbook对象(三)

[复制链接]
发表于 2013-11-30 00:19 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2013-12-4 21:12 编辑

  今天继续扒工作簿的属性。
  Workbook.FileFormat 属性
   返回值为XlFileFormat 类型,只读。
   返回工作簿的文件格式和/或类型。
   具体的可用的类型比较多,实际写代码时可以在F1中查找,另外,可以试着用录制宏的方法来学习。
   XlFileFormat中的某些可能不可用,这取决于选择或安装的语言支持(例如,美国英语)。
   另外,涉及到版本,可能也会要注意下。

  Workbook.ReadOnly 属性
   Boolean 类型,只读。
   如果对象以只读方式打开,则返回 True。
   If ActiveWorkbook.ReadOnly Then
       ActiveWorkbook.SaveAs Filename:="新-" & ActiveWorkbook.Name, FileFormat:=ActiveWorkbook.FileFormat
   End If
   '如果活动工作簿是以只读打开,则文件另存为 新-原有文件名,文件格式与当前工作簿的格式相同。
   注意:在Excel2010版本中,如果以saveas方法保存时,记得指定文件格式,特别是含有代码的工作簿。

  Workbook.HasVBProject 属性
   只读 Boolean 类型。
   代表工作簿是否具有附加的 VBA工程。
   If ActiveWorkbook.HasVBProject Then
    MsgBox "当前工作簿包含VBA工程"
   End If
  
  Workbook.HasPassword 属性
   Boolean 类型,只读。
   返回指定工作簿是否有打开密码,则该属性值为 True。
   ActiveWorkbook.Password = "123"
   '设置打开密码为 123
   MsgBox "当前活动工作簿是否有密码保护:" & ActiveWorkbook.HasPassword
   ActiveWorkbook.Password = ""
   '设置密码为空(取消密码)
   MsgBox "当前活动工作簿是否有密码保护:" & ActiveWorkbook.HasPassword
   '通过消息框检测有无密码保护(打开密码)

   ActiveWorkbook.WritePassword = "123"
   '设置写密码为 123
   MsgBox "当前活动工作簿是否有密码保护:" & ActiveWorkbook.HasPassword
   ActiveWorkbook.WritePassword = ""
   '设置写密码为空(取消密码)
   MsgBox "当前活动工作簿是否有密码保护:" & ActiveWorkbook.HasPassword
   '通过消息框检测有无密码保护

  Workbook.WritePassword 属性
   String 类型,可读写。
   为工作簿的写密码返回或设置一个 String 类型的数值。
   ActiveWorkbook.WritePassword = "123"
   '设置写密码为 123

  Workbook.WriteReserved 属性
   Boolean 类型,只读。
   检测指定工作簿是否有写保护的?
   ActiveWorkbook.WritePassword = "123"
   '设置写密码为 123
   MsgBox "当前活动工作簿是否有写保护:" & ActiveWorkbook.WriteReserved
   ActiveWorkbook.WritePassword = ""
   '设置写密码为空(取消写密码)
   MsgBox "当前活动工作簿是否有写保护:" & ActiveWorkbook.WriteReserved

  Workbook.Windows 属性
   Windows 对象,只读。
   返回一个 Windows 集合,它代表指定工作簿中所有窗口。
   在不使用对象识别符的情况下使用此属性等效于使用 Application.Windows?
   MsgBox Windows(1).Caption
   '显示当前工作簿的窗口集合中的第一个窗口的标题

  Workbook.Names 属性
   Names 对象,只读。
   返回一个 Names 集合,它代表指定工作簿的所有名称(包括所有指定工作表的名称)。
   注意:名称是可以隐藏的,很多宏病毒都爱用这招。
   Dim objName As Name
   For Each objName In Names
    objName.Visible = True
   End If
   '遍历工作簿中的名称集合,设置名称为可见

  Workbook.RemovePersonalInformation 属性
   Boolean 类型,可读写。
   设置是否从指定的工作簿中删除个人信息,默认值为 False。
   很多童鞋碰到过在保存工作簿时弹出的隐私保护对话框,其实就是这个属性设置为TRUE的缘故。

评分

参与人数 1 +15 收起 理由
云影 + 15 很给力!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-11-30 13:47 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-15 08:53 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-30 10:27 | 显示全部楼层
{:1112:}
回复

使用道具 举报

发表于 2014-6-16 14:46 | 显示全部楼层
{:35:}
回复

使用道具 举报

发表于 2014-6-17 22:48 | 显示全部楼层
注意:名称是可以隐藏的,很多宏病毒都爱用这招。
   Dim objName As Name
   For Each objName In Names
    objName.Visible = True
   End If
   '遍历工作簿中的名称集合,设置名称为可见
继续学习,谢谢分享,标记,三十六
回复

使用道具 举报

发表于 2014-6-18 11:14 | 显示全部楼层
回复

使用道具 举报

发表于 2016-1-3 12:44 | 显示全部楼层
期待实操训练,哈。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 20:32 , Processed in 0.898229 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表