一種電子文檔的自動查錯方法
【技術領域】
[0001] 本發明涉及一種電子文檔領域,尤其是一種電子文檔的自動查錯方法。
【背景技術】
[0002] 核電站儀控系統是核電站的"神經中樞",是確保核電廠安全、可靠運行的重要裝 備,而核電站儀控系統在設計和使用中,會產生大量的電子文檔,例如,在核電站儀控系統 中相關軟件、硬件在各個測試階段中所產生的測試文檔。而在大批量電子文檔編寫和整理 過程中,由于方方面面的原因可能出現各類錯誤,因此使得文檔的查錯過程必不可少,而以 往采用人工方式,需要檢查成百上千頁的文檔,往往耗費大量人力成本;在兼顧多個檢查點 時,往往容易造成遺漏,導致檢查過的文檔,依然可能存在不少錯誤;并且對文檔檢查過后 需要手工對各個錯誤做記錄,提交給文檔編寫者修改,整個過程速度慢、效率低。
【發明內容】
[0003] 為解決現有技術中采用人工檢查電子文檔的方式效率低且準確度不高的問題,本 發明采用基于VBA程序語言的技術,通過定制自動檢查邏輯代碼的方式實現軟件自動檢 查,從而取代人工檢查的方法,實現對文檔中的多個檢查項同時自動執行檢查,提高處理效 率和準確率。具體方案如下:一種電子文檔的自動查錯方法,包括以下步驟:
[0004] S1 :依據文檔中要檢查的內容,定制檢查項;
[0005] S2 :將所述定制的檢查項生成VBA文件,再將所述VBA文件導入到Office的宏中;
[0006] S3 :在宏窗口選擇運行命令對整個文檔進行檢查,所述檢查是通過VBA文件編寫 的代碼實現邏輯處理;
[0007] S4 :彈出提示文檔檢查完成窗口,并輸出存儲所有錯誤內容的檢查報告。
[0008] 優選的,包括以下步驟:
[0009] 1)在所述VBA文件中設置:檢查內容定義區、檢查項模塊區以及執行區,其中,
[0010] 所述的檢查項模塊區,包括檢查標記變量和定制的檢查項對應的檢查代碼;
[0011] 所述的檢查標記變量包括用于表示檢查種類的變量名和變量值;
[0012] 所述檢查內容定義區,用于顯示所有定制的檢查項,及定制的檢查項的說明;
[0013] 所述執行區,包括調用需要執行定制的檢查項和將錯誤數據生成報告;
[0014] 2)將所述的檢查項模塊區中的定制的檢查項在所述的檢查內容定義區中進行說 明,也就是在所述的檢查內容定義區中顯示所有定制的檢查項以及每個定制的檢查項對應 的標記變量名;
[0015] 3)在所述的檢查項模塊區中,將所述定制的檢查項按照檢查流程形成檢查代碼, 生成每個定制的檢查項對應的檢查模塊;
[0016] 4)在所述的執行區中,通過調用所述的檢查項模塊區中的變量名,對所述定制的 檢查項執行檢查,并將出錯的內容和出錯的位置寫入到所述檢查報告中。
[0017] 優選的,所述的調用檢查項為1個或多個。
[0018] 優選的,所述的變量值的初始值為"正確",如果在檢查過程中發現該項檢查內容 存在錯誤,則將變量值賦值為"待修改";在執行所述步驟4)時,將所有變量值為"待修改" 所對應的內容寫入所述檢查報告。
[0019] 優選的,所述定制的檢查項包括:新定制檢查項和固有檢查項;將定制的檢查項 生成對應的檢查模塊的步驟為:
[0020] (4-1):在已經存在的VBA文件中查找,待檢查的檢查項是否在檢查項模塊區已經 被定義為檢查模塊,如果是則執行步驟(4-2),否則執行步驟(4-3);
[0021] (4-2):將存在的檢查項對應的模塊復制到所述的固有檢查項中;重復執行步驟 (4-1),直到所有待檢查的檢查項在VBA文件中都有對應的模塊;
[0022] (4-3):對于在已經存在的VBA文件中沒有的檢查項,則根據檢查內容建立新的檢 查項模塊,即形成所述的新定制檢查項,重復執行步驟(4-1),直到所有要檢查的檢查項在 VBA文件中都有對應的模塊。
[0023] 優選的,所述的電子文檔是核電站儀控系統中相關軟件和硬件在測試階段涉及的 文檔,所述文檔為excel文件。
[0024] 優選的,定制檢查項包括:頁眉檢查,所述的頁眉檢查定義為檢查模塊的步驟為:
[0025] (6-1)使用函數ActiveSheet. Name獲取第一個工作表名稱,作為當前工作表;
[0026] (6-2)使用函數GetHeadPageName獲取所述當前工作表的頁眉名稱;
[0027] (6-3)使用函數StrComp對第一個工作表名稱和當前工作表的頁眉名稱進行比 較,如果名稱一致,則檢查下一個工作表,否則寫入到檢查報告中;
[0028] (6-4)如果當前工作表是最后一個工作表,則執行結束,否則取后一個工作表為當 前工作表,獲取工作表名稱將執行步驟(6-2)。
[0029] 優選的,定制檢查項還包括單元格關聯檢查,所述的單元格關聯檢查定義為檢查 模塊的步驟:
[0030] (7-1)設置關聯列,所述關聯列包括:第一關聯列和第二關聯列;
[0031] (7-2)設置關聯規則為:(a)第一關聯列的值為"通過"時對應第二關聯列的內容 為空,(b)第一關聯列的值為"未通過"時對應第二關聯列的內容為被測設備編號;
[0032] (7-3)使用函數 ActiveWorkbook. Worksheets (i) · Cells (j, k) · Value 獲取當前工 作表的第一關聯列第一行的字段內容和第二關聯列第一行的字段內容,作為當前工作表的 當前行;其中,變量I表示第幾張工作表,變量j表示工作表的第幾行,變量k表示工作表的 第幾列。
[0033] (7-4)根據步驟(7-2)規定的規則,對步驟(7-3)獲取的內容進行判斷,如果符合 關聯規則(a)或(b),則檢查下一行數據,否則寫入到檢查報告中;
[0034] (7-5)如果當前行是最后一行,則執行結束,否則獲取下一行為當前行對應的第一 關聯列的字段內容和第二關聯列的字段內容,執行步驟(7-4);
[0035] 優選的,所述的關聯列可為多列;
[0036] 優選的,所述的關聯規則是根據測試要求進行的定制。
[0037] 優選的,在步驟S3中,所述的邏輯處理包括采用循環、遍歷的邏輯處理方法。
[0038] 優選的,在步驟S4中生成的所述檢查報告存儲為可在計算機上顯示的文檔,并將 所述文檔存儲在計算機中。
[0039] 優選的,所述的檢查報告格式為word文檔、txt文檔。
[0040] 本發明通過采用基于VBA程序語言的技術,通過定制自動檢查邏輯代碼的方式實 現軟件自動檢查,從而取代人工檢查的方法,通過使用一種自動化手段,實現快速、準確的 檢查出文件中包含的各類錯誤,如格式錯誤、內容錯誤以及邏輯錯誤等,并將檢查出的錯誤 生成檢查報告,逐個羅列出來,清晰的標記出錯誤位置,便于文檔編寫者快速的定位錯誤 并修改錯誤,幫助提高文檔質量,節省在文檔檢查上的人力投入。
【附圖說明】
[0041] 下面結合附圖對本發明的一種電子文檔的自動查錯方法進行具體說明。
[0042] 圖1是本發明電子文檔的自動查錯方法的流程圖;
[0043] 圖2是本發明實現過程的總體流程圖;
[0044] 圖3是圖2在本發明實現過程的簡化流程圖;
[0045] 圖4是本發明形成檢查項的過程框圖;
[0046] 圖5是本發明頁眉檢查的流程圖;
[0047] 圖6是本發明單元格關聯檢查的流程圖;
[0048] 圖7是本發明編號規范性和連續性檢查的流程圖;
[0049] 圖8是本發明檢查報告得到結果的部分顯示界面截圖。
【具體實施方式】
[0050] 本發明通過使用VBA技術實現對文檔的自動檢查,并能將檢查的錯誤內容生成檢 查報告,便于文檔編寫者快速定位錯誤位置并修改文檔,提高對文檔的處理效率。如圖2所 示,其中虛線部分為本發明在整個應用過程中要實現的具體內容,圖3為圖2在本發明實 現部分的簡化流程圖,圖3虛線圈定的部分是在第一次進行某類檢查項的文檔檢查時設定 的,再次檢查同類型文檔的檢查項可忽略這兩個步驟。如圖1所示,本發明實現的檢查過程 包括定制檢查項、導入檢查項、執行檢查、輸出生成的報告。具體實現過程的內容包括:
[0051] ( -)定制檢查項
[0052] 此步驟是將要檢查的內容進行梳理,抽象成一條條檢查項,并用VBA語言逐個描 述這些檢查項的