国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VBA電子文檔標(biāo)定密級(jí)軟件的設(shè)計(jì)與實(shí)現(xiàn)

2022-09-27 12:42:30劉慶杰蔣奉君魏光瑜
工程與試驗(yàn) 2022年3期
關(guān)鍵詞:密級(jí)文本框子程序

劉慶杰,蔣奉君,劉 輝,魏光瑜

(1.成都飛機(jī)工業(yè)(集團(tuán))有限責(zé)任公司,四川 成都 610092;2.西南交通大學(xué),四川 成都 611756;3.國家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作四川中心,四川 成都 610200)

1 引 言

VBA(Visual Basic for Application)是Visual Basic的一種宏語言,具有比較完整的程序設(shè)計(jì)語言,并提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法[1],可跨越多個(gè)應(yīng)用軟件,且具有控制應(yīng)用軟件的能力,可直接應(yīng)用于Office系列軟件。

根據(jù)國家保密規(guī)定,凡是國家秘密載體,包括已經(jīng)定稿或未定稿的文件和電子文檔,都應(yīng)當(dāng)按要求標(biāo)明密級(jí)和保密期限。公司要求所有電子文檔均應(yīng)在首頁固定位置按照特定字號(hào)與字體標(biāo)定密級(jí),包括“秘密★10年”、“內(nèi)部”、“公開”等。電子文檔創(chuàng)建人為標(biāo)定密級(jí)的第一責(zé)任人,標(biāo)定密級(jí)的常規(guī)操作為:打開文檔、插入文本框、輸入密級(jí)文字、調(diào)整字號(hào)、調(diào)整字體、調(diào)整文本框位置、關(guān)閉文檔。創(chuàng)建的文檔數(shù)量較多時(shí),標(biāo)定密級(jí)的操作重復(fù)且繁瑣。

為了減少人工的重復(fù)性操作,基于VBA設(shè)計(jì)了電子文檔標(biāo)定密級(jí)軟件,將標(biāo)定密級(jí)功能入口集成于電腦鼠標(biāo)的右鍵菜單欄中,可不打開電子文檔進(jìn)行相關(guān)調(diào)整工作,僅需選擇需標(biāo)定密級(jí)的電子文檔和選擇需確定的密級(jí),可以方便地為一項(xiàng)或多項(xiàng)電子文檔同時(shí)進(jìn)行密級(jí)標(biāo)定,自動(dòng)在電子文檔首頁的指定位置插入文本框、輸入指定字號(hào)、字體的密級(jí)文字字樣。

2 軟件架構(gòu)

標(biāo)定密級(jí)軟件按照模塊化設(shè)計(jì)[2],包括程序入口調(diào)用、選擇電子文檔、選擇密級(jí)標(biāo)識(shí)以及公開、內(nèi)部等6個(gè)標(biāo)識(shí)密級(jí)子程序,軟件框架見圖1。

圖1 標(biāo)定密級(jí)軟件框架

程序入口子程序?yàn)镈OS命令,主要是修改注冊(cè)及調(diào)用VBA宏程序;選擇電子文檔子程序?qū)崿F(xiàn)文件選擇并獲取文件路徑;選擇密級(jí)標(biāo)識(shí)子程序?qū)崿F(xiàn)調(diào)用相應(yīng)密級(jí)子程序,密級(jí)標(biāo)識(shí)子程序?qū)崿F(xiàn)后臺(tái)標(biāo)定密級(jí)。

3 界面設(shè)計(jì)

基于VBA自帶窗體模塊,設(shè)計(jì)密級(jí)選擇窗口[3],設(shè)置“公開”、“內(nèi)部”、“秘密”、“機(jī)密”、“普通商秘”、“核心商秘”等共6個(gè)密級(jí)標(biāo)識(shí)選項(xiàng),用不同顏色進(jìn)行區(qū)分。另設(shè)置“繼續(xù)”按扭,實(shí)現(xiàn)對(duì)不同的文件進(jìn)行標(biāo)定密級(jí)。設(shè)置“退出”按扭,退出程序。密級(jí)選擇界面如圖2所示。

圖2 密級(jí)選擇窗口

源代碼如下:

Private Sub CommandButton1_Click()

Call Pulic_L.Pulic_L

End Sub

Private Sub CommandButton2_Click()

Call Internal_L.Internal_L

End Sub

Private Sub CommandButton3_Click()

Call Secret_L.Secret_L

End Sub

Private Sub CommandButton4_Click()

Call Classified_L.Classified_L

End Sub

Private Sub CommandButton5_Click()

Call GenCS_L.GenCS_L

End Sub

Private Sub CommandButton6_Click()

Call PivCS_L.PivCS_L

End Sub

Private Sub CommandButton7_Click()

Unload SelLe

Call FileSelect.FileSelect

End Sub

Private Sub CommandButton8_Click()

Application.DisplayAlerts = False

ThisWorkbook.Saved = False

On Error Resume Next

Kill "F:個(gè)人資料文檔標(biāo)定密級(jí) mep.txt"

ThisWorkbook.Close

End Sub

4 VBA編程

4.1 鼠標(biāo)右鍵菜單程序入口

基于DOS命令編寫兩個(gè)BAT文件,均放置于C:Program Files目錄下。第1個(gè)修改注冊(cè)表,實(shí)現(xiàn)在鼠標(biāo)右鍵菜單欄增加“標(biāo)密管理”選項(xiàng)并鏈接調(diào)用BMS.bat,修改后的注冊(cè)表見圖3,鼠標(biāo)右鍵菜單欄選項(xiàng)見圖4,源代碼為Reg add HKEY_CLASSES_ROOTdirectoryackgroundshell標(biāo)密管理command /ve /d “C:Program FilesBMS.bat”。第2個(gè)為BMS.bat,調(diào)用主程序BMS.xlsm,代碼為@start EXCEL.EXE/e“C:ProgramFilesBMS.xlsm”。

圖3 修改后的注冊(cè)表

圖4 鼠標(biāo)右鍵菜單選項(xiàng)

4.2 文件選擇子程序

文件選擇子程序主要實(shí)現(xiàn)在鼠標(biāo)選中文件后記錄該文件的路徑及所選擇的文件數(shù)量[4]。彈出的文件選擇窗口默認(rèn)為D盤,允許多項(xiàng)選擇,可任意選擇文件位置(如圖5所示)。源代碼如下:

Public ROUTE

Public Conunt_NUM

Sub FileSelect()

Set filedialogobject = Application.FileDialog(msoFileDialogFileSelect)

With filedialogobject

.Title = "請(qǐng)選擇需標(biāo)密的文件"

.InitialFileName = "D:"

.AllowMultiSelect = True

End With

filedialogobject.Show

Set PATHS = filedialogobject.SelectedItems

With filedialogobject

Conunt_NUM = .SelectedItems.Count

End With

If Conunt_NUM > 0 Then

ReDim ROUTE(0 To Conunt_NUM - 1)

For I = 0 To Conunt_NUM - 1

ROUTE(I) = PATHS(I + 1)

Next

Else

MsgBox "未選取任何文件!"

End If

SelLe.Show 1

End Sub

圖5 文件選擇窗口

4.3 公開密級(jí)子程序

公開密級(jí)子程序主要實(shí)現(xiàn)按選擇的文件路徑逐個(gè)打開文件,插入文本框[5-9],位置為60#,30#,文本框大小為232#,40#。在文本框中設(shè)置文字為“公開”,字體為黑體,字號(hào)為16磅。完成所有選擇文件密級(jí)標(biāo)識(shí)后,提示“已將所選文件標(biāo)密為‘公開’”。

Sub ublic_L()

If Conunt_NUM = 0 Then

MsgBox “您未選取文件!”

Exit Sub

Else

Dim FILENUM As Integer

FILENUM = Ubound(ROUTE, 1)

For j = 0 To FILENUM

If ROUTE(j) Like “*.doc*” Then

Dim oWord

Set oWord = VBA.CreateObject(“word.application”)

oWord.Visible = 0

oWord.DisplayAlerts = True

Dim oDoc As Object

Set oDoc = oWord.Documents.Open(ROUTE(j), , False)

With oDoc

Dim TXTBOX1

Set TXTBOX1 = oDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, 60#, 30#, 232#, 40#)

With TXTBOX1

.TextFrame.TextRange.Text = “公開”

.TextFrame.TextRange.Font.Name = “黑體”

.TextFrame.TextRange.Font.Size = “16”

.Line.Visible = msoFalse

.Fill.Visible = msoFalse

End With

End With

On Error Resume Next

oWord.ActiveDocument.Save

oWord.ActiveDocument.Close False

oWord.Application.Quit

Set oWord = Nothing

Set oDoc = Nothing

Else

End If

Next

MsgBox “已將所選文件標(biāo)密為“公開””

End If

On Error Resume Next

Kill “F:個(gè)人資料文檔標(biāo)定密級(jí) mep.txt”

End Sub

4.4 其它密級(jí)子程序

其它密級(jí)子程序整體與公開密級(jí)子程序相同,不同之處在于文本框中輸入密級(jí)標(biāo)識(shí)的文字及完成標(biāo)定密級(jí)后的提示框文字,源代碼如下:

With TXTBOX1

.TextFrame.TextRange.Text = "**"

.TextFrame.TextRange.Font.Name = "黑體"

.TextFrame.TextRange.Font.Size = "16"

.Line.Visible = msoFalse

.Fill.Visible = msoFalse

End With

MsgBox "已將所選文件標(biāo)密為“**”"

“**”位置為相應(yīng)的密級(jí)標(biāo)識(shí)。

5 測試驗(yàn)證

5.1 測試項(xiàng)目

新建100份電子文檔,存放于同一文件夾中,見圖6。序號(hào)1~50的文檔標(biāo)為分開、序號(hào)51~80標(biāo)為內(nèi)部、序號(hào)81~100標(biāo)為秘密。測試分為人工和程序兩組進(jìn)行,人工標(biāo)定密級(jí)為2人,其中1人采用插入文本框、輸入文字、調(diào)整字體及字號(hào)的方式,另外1人采用復(fù)制粘貼已經(jīng)制作好的密級(jí)標(biāo)識(shí)文本框的方式;程序標(biāo)定密級(jí)為1人,測試項(xiàng)目包括計(jì)算標(biāo)定密級(jí)的時(shí)間,統(tǒng)計(jì)標(biāo)定密級(jí)的一致性,包括字體、字號(hào)、文本框位置,并定性說明疲勞程度。

圖6 測試用的電子文檔

5.2 測試過程

人工標(biāo)定密級(jí)測試過程:雙擊打開電子文檔、插入文本框、輸入相應(yīng)密級(jí)標(biāo)識(shí)文字、調(diào)整字號(hào)16磅、調(diào)整字體為黑體、保存文檔、關(guān)閉文檔,不斷重復(fù)上述操作100次。

程序標(biāo)定密級(jí)測試過程見圖7,分3次批量選擇序號(hào)1~50、51~80、81~100,以及選擇“公開”、“內(nèi)部”、“秘密”3種密級(jí)。

圖7 程序標(biāo)定密級(jí)過程

5.3 測試結(jié)果

通過人工和程序?yàn)?00份電子文檔標(biāo)定不同密級(jí)的對(duì)比測試,所得結(jié)果如表1所示。

表1 測試結(jié)果

在測試過程中,人工操作明顯繁瑣,且隨著標(biāo)定密級(jí)數(shù)量的增加,操作明顯因疲勞而節(jié)奏放緩,人員A、 B密級(jí)標(biāo)識(shí)字體、字號(hào)正確,但人員A插入文本框位置不定,且標(biāo)定密級(jí)過程期間不能處理其它工作。程序測試的人員有條不紊,僅需點(diǎn)幾次鼠標(biāo)即可,且在程序自動(dòng)標(biāo)定密級(jí)時(shí),還能處理其他工作,密級(jí)標(biāo)識(shí)字體、字號(hào)、位置完全一致,見圖8。

圖8 標(biāo)識(shí)公開密級(jí)結(jié)果

6 結(jié) 論

為快速實(shí)現(xiàn)對(duì)單個(gè)或批量電子文檔標(biāo)定密級(jí),減少人工的重復(fù)性操作,基于VBA設(shè)計(jì)了電子文檔標(biāo)定密級(jí)軟件。該軟件采用模塊化設(shè)計(jì),主程序根據(jù)選擇的密級(jí)調(diào)用相應(yīng)子程序。程序入口集成于鼠標(biāo)右鍵菜單欄中,方便快速調(diào)用主程序。

經(jīng)測試驗(yàn)證,程序標(biāo)密速度為20s/份,遠(yuǎn)高于人工標(biāo)密的30~45s/份。程序不依賴操作系統(tǒng)且無需安裝,可直接運(yùn)行,推廣應(yīng)用性強(qiáng),可與其他標(biāo)密系統(tǒng)結(jié)合使用。后續(xù)將考慮結(jié)合公司國家秘密事項(xiàng)目錄對(duì)文檔進(jìn)行掃描,主動(dòng)識(shí)別關(guān)鍵密點(diǎn),輔助確定密級(jí)。

猜你喜歡
密級(jí)文本框子程序
巧用文本框?qū)崿F(xiàn)PPT多圖片排版
PPT文本框的另類應(yīng)用
基于區(qū)塊鏈技術(shù)的多密級(jí)數(shù)據(jù)安全存儲(chǔ)系統(tǒng)設(shè)計(jì)
淺談子程序在數(shù)控車編程中的應(yīng)用
文本框酷變3D效果
子程序在數(shù)控車加工槽中的應(yīng)用探索
高校密級(jí)檔案管理問題探析
西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
文件密級(jí)標(biāo)識(shí)全程管控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
密級(jí)“совершенно секретно”是“絕密”還是“機(jī)密”?
陵水| 全州县| 永兴县| 扶沟县| 林州市| 灵武市| 垫江县| 阜南县| 祁连县| 扬州市| 汶上县| 台东市| 清水河县| 潮安县| 甘德县| 任丘市| 汤原县| 公安县| 吉水县| 阜南县| 常州市| 蓬莱市| 滨海县| 阿城市| 共和县| 邻水| 竹溪县| 昌图县| 宾川县| 宜章县| 桦川县| 望谟县| 调兵山市| 璧山县| 克山县| 安阳市| 同德县| 连山| 民乐县| 河间市| 深泽县|