王 虓,蒲 弦,王 彬
(中國成達工程有限公司,成都 610041)
設備計算書(Excel文檔)與一般科技文檔不同,它包含設備設計的重要信息和設備設計過程中重要計算過程,與設計標準(國標,行業(yè)標準)等密不可分。造成文檔變更的原因也十分復雜,從創(chuàng)建開始就需要不斷測試使用,發(fā)現(xiàn)問題,遇到設計標準變化,都需要對文檔進行小幅更新或整體更新。
1.2.1 從文檔使用過程來看,不利于設計使用和保密
傳統(tǒng)使用過程通過作者(專業(yè)負責人等)、用戶(設計人員)分散化自由傳遞,容易導致用戶使用的文檔版本不一致或不是最新帶來設計偏差。同時自由傳遞可能被隨意傳遞外部人員造成泄密或知識產(chǎn)權(quán)流失。
1.2.2 從文檔更新(升版)過程來看,不利于技術(shù)探索和升級
使用人員在發(fā)現(xiàn)問題或技術(shù)升級時就直接升版、分發(fā)了文檔并開始使用和自由傳遞給相關(guān)人員,沒有統(tǒng)一管理,更新(升版)過程產(chǎn)生多個分支,丟失版本主線,同時也無法得知變更的具體細節(jié)和各個版次間對各個版本進行比較,進而也無法探尋其中存在的問題和技術(shù)/標準變更點,摸索問題解決的線索,驗證改動,提高后續(xù)類似問題的改進效率。
1.2.3 其他問題[1]
(1)從檔案管理角度來看,不利于有效反應文檔管理的全程性和完整性。
(2)從質(zhì)量管理角度看,不利于文件質(zhì)量管理全程控制。
在企業(yè)內(nèi)網(wǎng)中建立文件服務器,數(shù)據(jù)庫服務器,web服務器,用文件服務器統(tǒng)一存放并加密管理相關(guān)文件,數(shù)據(jù)庫服務器記錄文件的版次、使用權(quán)限等相關(guān)管理信息,web服務上建立統(tǒng)一的文檔門戶作為用戶獲取、更新(升版)文檔的唯一入口。計算書文檔從審批、發(fā)行、升版/更新、執(zhí)行使用、廢止等都將在企業(yè)內(nèi)網(wǎng)中的這個體系下受控運行。
2.2.1 Excel的內(nèi)部控制流程
在Excel文件內(nèi)部使用VBA技術(shù)、ADO技術(shù)等與數(shù)據(jù)庫服務器和文件服務進行交互嚴重,確保Excel文件的版次的統(tǒng)一性,唯一性和最新使用性。通知使用了VBA加密Excel對文檔進行保護,防止未授權(quán)的使用。
2.2.2 核心實現(xiàn)代碼
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 ‘定義數(shù)據(jù)鏈接對象,保存連接數(shù)據(jù)庫信息
Dim rs As Object ‘定義記錄集對象,保存數(shù)據(jù)表
Set cn=CreateObject(“ADODB.Connection”)’ 創(chuàng)建數(shù)據(jù)鏈接對象
Set rs=CreateObject(“ADODB.RecordSet”)’創(chuàng)建記錄集對象
Dim strCn As String,strSQL As String ‘字符串變量
strCn=”Provider=sqloledb;Server=數(shù)據(jù)庫服務器地址;Database=數(shù)據(jù)庫名;Uid=數(shù)據(jù)庫用戶名;Pwd=數(shù)據(jù)庫密碼;”
strSQL=”SELECT[VersionCode]FROM[tb_Document]Where[DocumnetGuid]=’” & myId & “’”
cn.Open strCn ‘與數(shù)據(jù)庫建立連接,如果成功,返回連接對象cn
rs.Open strSQL,cn ‘執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對象中
If myVersion=rs(“VersionCode”)Then
MsgBox “您使用的是最新版本,可以正常使用!”
Else
For Each sht In ActiveWorkbook.Sheets
sht.Protect Password:=”設置鎖定Excel的密碼”
Next sht
MsgBox “該版本已經(jīng)過期,請下載使用新版本!”
‘調(diào)用IE下載
Dim IE As Object
Set IE=CreateObject(“InternetExplorer.Application”)
IE.Visible=True
IE.Navigate(“http://文件服務器地址 /FileDownload.aspx?DocumnetGuid=” & myId)
End If
rs.Close ‘關(guān)閉記錄集,
End Sub
本套解決方案在中國成達工程有限公司設備室的大型設備計算書管理中得到應用。解決了文件版本更換帶來的諸多問題,提高了計算書文檔的管理水平,促進了計算書文檔的利用效率,進行了版本控制方法和流程的持續(xù)改進,獲得相關(guān)干系人一致好評。
在此基礎(chǔ)上可以擴展建設處以文檔全生命周期為基礎(chǔ)的分類管理和控制為基礎(chǔ),基于WEB,SQL,VBA技術(shù)的大型Excel、word文檔等支持內(nèi)建ADO訪問數(shù)據(jù)庫的文檔載體大型電子文檔管理控制系統(tǒng)。