久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

自學資料(Excel VBA)[收集整理10]

 COPY&PASTE 2009-10-15

自學資料(Excel VBA)[收集整理10]

默認分類   2009-08-01 12:06   閱讀56   評論0  
字號:    
66,、.用VBA(編程)保護Excel文檔
  VBA(Visual Basic for Application)是Excel應用程序中功能非常強大的編程語言,,為了規(guī)范不同的用戶對Excel應用程序的訪問能力,,需要對Excel文檔及有關(guān)的數(shù)據(jù)進行有效的保護,, 這里根據(jù)自己及同行們的體會,,從以下二個方面介紹用VBA編程法實現(xiàn)對Excel文檔的保護,。
對工作簿的保護
1.利用VBA中Workbook對象的SaveAs方法實現(xiàn)對工作簿的保護,, 下面就對SaveAs有 關(guān)的參量作一介紹:
Filename:該字符串表示要保存的文件名。 可包含完整路徑,。 如果不指定路徑,,Microsoft Excel 將文件保存到當前文件夾。
FileFormat: 可選,,文件的保存格式,。
Password :為一個區(qū)分大小寫的字符串(不超過15個字符) ,用于指定文件的保護密碼,。
WriteResPassword: 該字符串表示文件的寫保護密碼,。 如果文件保存時帶有密碼,,但打開文件時不輸入密碼,則該文件以只讀模式打開,。
ReadOnlyRecommended :如果為True則在打開文件時顯示一條信息,,提示該文件以只讀模式打開。
下例就是在Excel應用程序中添加一工作簿,,將工作簿按常規(guī)文件格式存為“C:\pj\obj\經(jīng)濟評價.xls”文件,,并給該文件指定保護密碼“12”以及寫保護密碼“23”。
Sub 保護工作簿()
NewWorkbook = Workbooks.add
NewWorkbook.SaveAs FileName: ="C: \pj\obj\經(jīng)濟評價.xls", FileFormat: =
XlNormal,Password:="12",WriteResPassword:=″23″
End sub
2.利用VBA中Workbook對象的Protect方法對工作簿的結(jié)構(gòu)和窗口進行保護,,Workbook對象的Protect方法帶有以下三個參量:
Password:為加在工作表或工作簿上區(qū)分大小寫的密碼字符串,。如果省略本參數(shù),不用密碼就可以取消對該工作簿的保護,。否則,,取消對該工作表或工作簿的保護時必須提供該密碼。如果忘記了密碼,,就無法取消對該工作表或工作簿的保護,。最好在安全的 地方保存一份密碼及其對應文檔名的列表。
Structure: 若為True則保護工作簿結(jié)構(gòu)(工作簿中工作表的相對位置),。默認值為False,。
Windows 若為True則保護工作簿窗口。
下例就是對一名為“經(jīng)濟評價.xls”的工作簿實現(xiàn)“結(jié)構(gòu)”和“窗口”保護:
Sub 保護工作簿()
Workbooks (″經(jīng)濟評價″) .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.對工作表實現(xiàn)口令保護利用VBA調(diào)用Worksheet對象的Protect方法對工作表進行保護,,Protect帶有以下參量:
Password 用于保護工作表的口令。
Drawingobjects 若為True,,則對工作表中的Drawingobjects對象進行保護,缺省值為True,。
Contents 若為True,則對單元格內(nèi)容進行保護,,缺省值為True,。
下面程序代碼完成對工作表“基礎(chǔ)數(shù)據(jù)表”的保護:
Sub 保護工作表()
Worksheets(″基礎(chǔ)數(shù)據(jù)表″).Protect Password:="1234"
End sub
2.對工作表實現(xiàn)隱藏保護,使他人無法看到工作表:
利用VBA設(shè)置Worksheet對象的Visible屬性來隱藏工作表,;Visible屬性的值為以下三個值中的一個:
True 工作表為顯示狀態(tài),。
False 工作表為隱藏狀態(tài)。
XlVerHidden 工作表為隱藏狀態(tài),且用戶不能通過“取消隱藏”對話框?qū)⑵涓臑轱@示狀態(tài),。當Visible的值為XlVerHidden時,,只能利用VBA將其重新設(shè)置為True。
Sub 隱藏工作表()
Worksheets("基礎(chǔ)數(shù)據(jù)表").Visible=False
End sub

67,、求:將所選區(qū)域中的數(shù)值全部轉(zhuǎn)化為"萬元"的最簡代碼.
求:將所選區(qū)域中的數(shù)值全部轉(zhuǎn)化為"萬元"的最簡代碼.
或能完成此功能的最便捷的命令操作.
寫了一個,拋磚引玉:
Sub convt()
Dim cel As Range
Dim dec As Variant
Application.EnableEvents = False
      yesorno = MsgBox("確實將區(qū)域所有數(shù)值轉(zhuǎn)換為“萬元”?", vbYesNo + vbQuestion + vbDefaultButton1)
      If yesorno = vbYes Then
1:    dec = Application.InputBox("請輸入小數(shù)位數(shù):", 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
轉(zhuǎn)載自 http://bbs./showtopic-169943.aspx

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多