王 虓,蒲 弦,王 彬
(中國成達工程有限公司,成都 610041)
設備計算書(Excel文檔)與一般科技文檔不同,它包含設備設計的重要信息和設備設計過程中重要計算過程,與設計標準(國標,行業標準)等密不可分。造成文檔變更的原因也十分復雜,從創建開始就需要不斷測試使用,發現問題,遇到設計標準變化,都需要對文檔進行小幅更新或整體更新。
1.2.1 從文檔使用過程來看,不利于設計使用和保密
傳統使用過程通過作者(專業負責人等)、用戶(設計人員)分散化自由傳遞,容易導致用戶使用的文檔版本不一致或不是最新帶來設計偏差。同時自由傳遞可能被隨意傳遞外部人員造成泄密或知識產權流失。
1.2.2 從文檔更新(升版)過程來看,不利于技術探索和升級
使用人員在發現問題或技術升級時就直接升版、分發了文檔并開始使用和自由傳遞給相關人員,沒有統一管理,更新(升版)過程產生多個分支,丟失版本主線,同時也無法得知變更的具體細節和各個版次間對各個版本進行比較,進而也無法探尋其中存在的問題和技術/標準變更點,摸索問題解決的線索,驗證改動,提高后續類似問題的改進效率。
1.2.3 其他問題[1]
(1)從檔案管理角度來看,不利于有效反應文檔管理的全程性和完整性。
(2)從質量管理角度看,不利于文件質量管理全程控制。
在企業內網中建立文件服務器,數據庫服務器,web服務器,用文件服務器統一存放并加密管理相關文件,數據庫服務器記錄文件的版次、使用權限等相關管理信息,web服務上建立統一的文檔門戶作為用戶獲取、更新(升版)文檔的唯一入口。計算書文檔從審批、發行、升版/更新、執行使用、廢止等都將在企業內網中的這個體系下受控運行。
2.2.1 Excel的內部控制流程
在Excel文件內部使用VBA技術、ADO技術等與數據庫服務器和文件服務進行交互嚴重,確保Excel文件的版次的統一性,唯一性和最新使用性。通知使用了VBA加密Excel對文檔進行保護,防止未授權的使用。
2.2.2 核心實現代碼
Sub VersionControl()

MsgBox “開始檢查版本”
DimiAs Integer,j As Integer,sht As Worksheet
Dim myVersion As String
Dim myId As String
myVersion=”Rev8.3(20170504)”
myId=”eb762898-20e3-456d-a24b-049f4e4fd82e”
Dim cn As Object ‘定義數據鏈接對象,保存連接數據庫信息
Dim rs As Object ‘定義記錄集對象,保存數據表
Set cn=CreateObject(“ADODB.Connection”)’ 創建數據鏈接對象
Set rs=CreateObject(“ADODB.RecordSet”)’創建記錄集對象
Dim strCn As String,strSQL As String ‘字符串變量
strCn=”Provider=sqloledb;Server=數據庫服務器地址;Database=數據庫名;Uid=數據庫用戶名;Pwd=數據庫密碼;”
strSQL=”SELECT[VersionCode]FROM[tb_Document]Where[DocumnetGuid]=’” & myId & “’”
cn.Open strCn ‘與數據庫建立連接,如果成功,返回連接對象cn
rs.Open strSQL,cn ‘執行strSQL所含的SQL命令,結果保存在rs記錄集對象中
If myVersion=rs(“VersionCode”)Then
MsgBox “您使用的是最新版本,可以正常使用!”
Else
For Each sht In ActiveWorkbook.Sheets
sht.Protect Password:=”設置鎖定Excel的密碼”
Next sht
MsgBox “該版本已經過期,請下載使用新版本!”
‘調用IE下載
Dim IE As Object
Set IE=CreateObject(“InternetExplorer.Application”)
IE.Visible=True
IE.Navigate(“http://文件服務器地址 /FileDownload.aspx?DocumnetGuid=” & myId)
End If
rs.Close ‘關閉記錄集,
End Sub
本套解決方案在中國成達工程有限公司設備室的大型設備計算書管理中得到應用。解決了文件版本更換帶來的諸多問題,提高了計算書文檔的管理水平,促進了計算書文檔的利用效率,進行了版本控制方法和流程的持續改進,獲得相關干系人一致好評。

在此基礎上可以擴展建設處以文檔全生命周期為基礎的分類管理和控制為基礎,基于WEB,SQL,VBA技術的大型Excel、word文檔等支持內建ADO訪問數據庫的文檔載體大型電子文檔管理控制系統。