• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于EXCELVBA的數(shù)據(jù)加密方法探析

      2018-10-09 08:38:10
      關(guān)鍵詞:編輯器表單校驗

      鄭 賓

      (陜西鐵路工程職業(yè)技術(shù)學(xué)院,陜西 渭南 714099)

      Excel是Microsoft Office家族成員中一個功能強大、技術(shù)先進、使用方便的表格式數(shù)據(jù)綜合管理和分析系統(tǒng)[1]。Visual Basic for Application(簡稱VBA)是新一代標(biāo)準(zhǔn)宏語言,基于Visual Basic for Windows發(fā)展起來,支持面向?qū)ο蟮某绦蛟O(shè)計語言。由于它具有直接應(yīng)用Office套裝軟件的各項強大功能,其宏記錄器可以很容易將日常工作轉(zhuǎn)換為VBA。

      工作中經(jīng)常會涉及某些Excel工作簿的數(shù)據(jù)要保密,需要對其進行加密防止某些使用者看到,以免泄露表格信息,或者用戶只能查看工作表數(shù)據(jù)但不能對其操作,有時候需要操作工作簿中的某些表或工作表中的某些內(nèi)容。這樣,針對不同的用戶或工作人員,對工作簿的使用權(quán)限不一致,可以在Excel中采用命令實現(xiàn)上述的某一項單一功能,但有時人工操作菜單命令可能設(shè)置不全面或有誤,就可以用VBA來解決這個問題。

      1 實例分析

      以某單位貸款表為例,該工作表屬于單位機密不應(yīng)該被所有人都看到。當(dāng)這個表不想讓其他不相關(guān)的人打開時,可以在保存時設(shè)置加密。創(chuàng)建好貸款表并輸入完相關(guān)數(shù)據(jù)后,單擊Excel2016主菜單上的“文件”命令,在當(dāng)前的界面下有一個“保護工作簿”選項,點擊后,出現(xiàn)下拉菜單,分別是“標(biāo)記為最終狀態(tài)”“用密碼進行加密”“保護當(dāng)前工作表”“保護工作簿結(jié)構(gòu)”“限制訪問”“添加數(shù)字簽名”?!坝妹艽a進行加密”是指當(dāng)用戶在打開這個貸款表時,需要輸入相應(yīng)密碼;“保護當(dāng)前工作表”則在對當(dāng)前表單下的單元格數(shù)據(jù)、行列進行操作時,需要輸入相應(yīng)密碼。

      對有些需要隱藏的內(nèi)容,如某一行或一列,則可以將其隱藏起來[2]。在要隱藏的行或者列上右擊鼠標(biāo),在彈出的菜單中單擊“隱藏”即可實現(xiàn)隱藏功能。如果想要撤銷隱藏,可以用鼠標(biāo)選中隱藏所在的間隔兩行或列,右鍵單擊“取消隱藏”,即可清除隱藏的區(qū)域。

      上面的方法主要通過菜單命令完成,死板且不能很好地區(qū)分權(quán)限,通過VBA進行數(shù)據(jù)加密,靈活且效果更好。

      單擊Excel主菜單上的“工具>宏>Visual Basic編輯器”選項以打開“Visual Basic編輯器”,編輯代碼如下所示:

      Sub Auto_Open()

      Dim TempI As Integer

      Dim TempJ As String

      Dim TempMsgBox As

      VbMsgBoxResult

      TempI = 1

      Rem 三次密碼校驗

      Do While TempI <= 3

      Sheets("Sheet1").Cells.Font.ColorIndex = 2

      TempJ = InputBox(“請輸入讀取密碼”,“校驗”)

      Rem 判斷密碼輸入

      If TempJ = "vba" Then

      Exit Do

      Else

      TempMsgBox = MsgBox(“輸入密碼錯誤”, vbOKOnly, “警告”)

      TempI = TempI + 1

      End If

      Loop

      If TempI = 4 Then

      TempMsgBox = MsgBox(“錯誤登陸”, vbOKOnly,“錯誤”)

      Application.Quit

      ThisWorkbook.Close (False)

      End If

      End Sub

      Private Sub Worksheet_Activate()

      Dim TempMsgBox As

      VbMsgBoxResult

      Sheets("Sheet1").Cells.Font.ColorIndex = 2

      Range("A20").Select

      If Application.InputBox(“請輸入普通權(quán)限密碼”, “校驗”) = "vba" Then

      Sheets("Sheet1").Select

      If Application.InputBox(“請輸入完全權(quán)限密碼”, “校驗”) = "vba" Then

      Sheets("Sheet1").Cells.Font.ColorIndex = 0

      Else

      Sheets("Sheet1").Cells.Font.ColorIndex = 0

      Range("A1:A50").Font.ColorIndex = 2

      End If

      Else

      TempMsgBox = MsgBox(“密碼輸入錯誤”, vbOKOnly,“錯誤”)

      Sheets("Sheet2").Select

      End If

      End Sub

      編輯代碼完畢后保存并退出“Visual Basic編輯器”,重新打開表單則可以看到有自動提示,如圖1所示。當(dāng)輸入錯誤的密碼的時候會彈出提示,當(dāng)3次連續(xù)輸入錯誤的密碼則自動退出[3]。

      圖1 打開表單提示輸入密碼

      當(dāng)輸入正確的打開表單密碼后,就可以打開表單并進入,此時的用戶權(quán)限為查看表單內(nèi)容,但不能對表單進行任何操作。進入表單時,又需要輸入權(quán)限密碼以區(qū)分是哪個級別的用戶,先需要輸入普通權(quán)限密碼,如圖2所示。如果普通用戶密碼輸入正確,則又需要輸入完全權(quán)限密碼,如圖3所示。普通用戶密碼輸入正確而完全權(quán)限密碼輸入錯誤,則不能訪問某些數(shù)據(jù),如圖4所示。只有輸入完整的完全權(quán)限密碼才能保證修改、查看所有數(shù)據(jù)并進行更改,如圖5所示。

      圖2 輸入普通權(quán)限密碼

      圖3 輸入完全權(quán)限密碼

      圖4 普通權(quán)限查看信息

      圖5 完全權(quán)限查看信息

      2 總結(jié)與提高

      在實際工作中,可以設(shè)置更多道“門檻”以完全區(qū)分出每個人不同的權(quán)限。同時在輸入密碼對話框中,輸入的密碼顯示為明文,使得安全性不高,這里可以自己動手在“Visual Basic編輯器”中新建一個窗體來做一個輸入對話框,在顯示的時候用“*”代替將要顯示的文字, 其代碼如下:

      Private Sub TextBox1_Change()

      Dim TempI As Integer

      Dim TempValue As String

      TempValue= TempValue & TextBox1.Value

      For TempI=1 To Len(TempValue) Step 1

      TextBox1. Value= TextBox1. Value & “*”

      Next TempI

      End Sub

      猜你喜歡
      編輯器表單校驗
      電子表單系統(tǒng)應(yīng)用分析
      華東科技(2021年9期)2021-09-23 02:15:24
      你距離微信創(chuàng)作達(dá)人還有多遠(yuǎn)?
      車輛段收發(fā)車運行圖編輯器的設(shè)計與實現(xiàn)
      淺談網(wǎng)頁制作中表單的教學(xué)
      爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
      大型電動機高阻抗差動保護穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      基于VLIW目標(biāo)機的ELF二進制編輯器設(shè)計與實現(xiàn)
      基于Infopath實現(xiàn)WEB動態(tài)表單的研究
      電子世界(2012年24期)2012-12-17 10:49:06
      夏河县| 张家界市| 怀安县| 报价| 永济市| 迭部县| 平山县| 平塘县| 芦山县| 余姚市| 太保市| 洪江市| 固阳县| 胶州市| 聊城市| 金堂县| 大庆市| 韶山市| 呼伦贝尔市| 红原县| 文化| 云龙县| 河津市| 边坝县| 班玛县| 鄄城县| 新余市| 安顺市| 西安市| 巨鹿县| 瑞金市| 鄯善县| 乐清市| 泗水县| 大田县| 长岛县| 沾益县| 加查县| 曲靖市| 屯昌县| 平远县|