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