利达物流单号查询:自学资料(Excel VBA)[收集整理10]
来源:百度文库 编辑:偶看新闻 时间:2024/05/06 18:33:35
自学资料(Excel VBA)[收集整理10]
默认分类 2009-08-01 12:06 阅读VBA(Visual Basic for Application)是Excel应用程序中功能非常强大的编程语言,为了规范不同的用户对Excel应用程序的访问能力,需要对Excel文档及有关的数据进行有效的保护, 这里根据自己及同行们的体会,从以下二个方面介绍用VBA编程法实现对Excel文档的保护。
对工作簿的保护
1.利用VBA中Workbook对象的SaveAs方法实现对工作簿的保护, 下面就对SaveAs有 关的参量作一介绍:
Filename:该字符串表示要保存的文件名。 可包含完整路径。 如果不指定路径,Microsoft Excel 将文件保存到当前文件夹。
FileFormat: 可选,文件的保存格式。
Password :为一个区分大小写的字符串(不超过15个字符) ,用于指定文件的保护密码。
WriteResPassword: 该字符串表示文件的写保护密码。 如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读模式打开。
ReadOnlyRecommended :如果为True则在打开文件时显示一条信息,提示该文件以只读模式打开。
下例就是在Excel应用程序中添加一工作簿,将工作簿按常规文件格式存为“C:\pj\obj\经济评价.xls”文件,并给该文件指定保护密码“12”以及写保护密码“23”。
Sub 保护工作簿()
NewWorkbook = Workbooks.add
NewWorkbook.SaveAs FileName: ="C: \pj\obj\经济评价.xls", FileFormat: =
XlNormal,Password:="12",WriteResPassword:=″23″
End sub
2.利用VBA中Workbook对象的Protect方法对工作簿的结构和窗口进行保护,Workbook对象的Protect方法带有以下三个参量:
Password:为加在工作表或工作簿上区分大小写的密码字符串。如果省略本参数,不用密码就可以取消对该工作簿的保护。否则,取消对该工作表或工作簿的保护时必须提供该密码。如果忘记了密码,就无法取消对该工作表或工作簿的保护。最好在安全的 地方保存一份密码及其对应文档名的列表。
Structure: 若为True则保护工作簿结构(工作簿中工作表的相对位置)。默认值为False。
Windows 若为True则保护工作簿窗口。
下例就是对一名为“经济评价.xls”的工作簿实现“结构”和“窗口”保护:
Sub 保护工作簿()
Workbooks (″经济评价″) .Protect Password: ="1234", Structure: =True,
Windows:=True
End sub
Workbook对象的Unprotect方法用于取消对工作簿的保护。Unprotect方法只有一个参量,就是保护工作表时所用的口令。
3.对工作簿进行隐藏保护,可使他人无法看到其对应的窗口。操作方法如下:
在VBA中使用Workbook对象下面的Windows对象的Visible属性对工作簿进行隐藏和取消隐藏,Visible属性的值可取“True”和“False”两种。
下面程序代码完成对工作簿“book.xls”的隐藏:
Sub 隐藏工作簿()
Workbooks("book").Activate
ActiveWindow.Visible = False
End sub
或:
Sub 隐藏工作簿()
Workbooks("book").Windows(1).Visible=False
End sub
对工作表的保护
1.对工作表实现口令保护利用VBA调用Worksheet对象的Protect方法对工作表进行保护,Protect带有以下参量:
Password 用于保护工作表的口令。
Drawingobjects 若为True,则对工作表中的Drawingobjects对象进行保护,缺省值为True。
Contents 若为True,则对单元格内容进行保护,缺省值为True。
下面程序代码完成对工作表“基础数据表”的保护:
Sub 保护工作表()
Worksheets(″基础数据表″).Protect Password:="1234"
End sub
2.对工作表实现隐藏保护,使他人无法看到工作表:
利用VBA设置Worksheet对象的Visible属性来隐藏工作表;Visible属性的值为以下三个值中的一个:
True 工作表为显示状态。
False 工作表为隐藏状态。
XlVerHidden 工作表为隐藏状态,且用户不能通过“取消隐藏”对话框将其改为显示状态。当Visible的值为XlVerHidden时,只能利用VBA将其重新设置为True。
Sub 隐藏工作表()
Worksheets("基础数据表").Visible=False
End sub
67、求:将所选区域中的数值全部转化为"万元"的最简代码.
求:将所选区域中的数值全部转化为"万元"的最简代码.
或能完成此功能的最便捷的命令操作.
写了一个,抛砖引玉:
Sub convt()
Dim cel As Range
Dim dec As Variant
Application.EnableEvents = False
yesorno = MsgBox("确实将区域所有数值转换为“万元”?", vbYesNo + vbQuestion + vbDefaultButton1)
If yesorno = vbYes Then
1: dec = Application.InputBox("请输入小数位数:", Default:=0, Type:=1)
If dec = "" Then
GoTo 1
End If
For Each cel In Selection
If IsNumeric(cel.Value) Then
'cel = (Round(cel.Value / 10000, 2)) & "万元"
cel = (Round(cel.Value / 10000, dec))
End If
Next
ElseIf yesorno = vbNo Then
Exit Sub
End If
End Sub
以下当为最简代码吧.
Sub Macro2()
Selection.NumberFormatLocal = "#"".""#,"
End Sub
转载自 http://bbs.it.com.cn/showtopic-169943.aspx
求excel 中VBA的学习资料
Excel VBA
Excel VBA
vba excel
如何分析报价?怎么收集,整理供应商资料?
excel VBA小问题
EXCEL VBA 问题
excel VBA教程电子书
Excel VBA 高手进
EXCEL VBA 基础教程下载
Excel VBA中EXCEL对象?
自学Excel?
收集并整理材料,
有没有通过excel vba操作word的书籍或资料?能否列出名称。
收集资料
资料收集
哪有买Excel 2003 VBA教程
谁有excel VBA教程
excel vba ontime的问题
作一个excel-VBA宏
excel中VBA的问题
excel VBA 下拉菜单制作
如何使用VBA启动Excel
整理资料