世界服裝鞋帽網(wǎng)首頁 > 正文
基于Word的圖文檔管理方法
在工程實(shí)踐中大量用到多種格式的圖文檔,如DWG、DXF格式的圖形文件,BMP、TIF、JPG格式的圖像文件,TXT.DOC格式的文本文件,STEP文件及語音文檔等。這此文檔被按照一定的分類編碼規(guī)則歸類,并以分類編碼號(hào)命名。為了對它們實(shí)施管理,本文將介紹在Visual Basic環(huán)境下開發(fā)的一個(gè)應(yīng)用程序,通過該程序能自動(dòng)生成Word格式管理文檔,并實(shí)現(xiàn)圖文檔的管理。
要實(shí)現(xiàn)對Word文檔的自動(dòng)操作,可以用自動(dòng)化工具Word內(nèi)來完成,但Word內(nèi)必須在Word內(nèi)使用而不適用于應(yīng)用系統(tǒng)的開發(fā)。而采用 ActiveX部件技術(shù)可以實(shí)現(xiàn)在VB中控制Word自動(dòng)完成文檔操作。其方法是先將圖文檔按編碼順序依次插入到Word文檔中并標(biāo)注圖號(hào),再生成圖檔目錄。通過這種自動(dòng)生成的管理文檔可以實(shí)現(xiàn)批量圖文檔的管理,且通過圖號(hào)目錄可以方便地查找并定位到所需文檔。雙擊所需文檔后,該文檔被激活。
這種圖文檔管理方法簡單實(shí)用。對于圖像文件,可以方便地實(shí)現(xiàn)查找、定位、預(yù)覽和編輯。利用Word的打印功能,還可節(jié)約批量圖檔打印的時(shí)間。下而將詳細(xì)介紹相關(guān)原理與技術(shù)。
1在VB中操作Word文檔
1.1 ActiveX部件技術(shù)概述
ActiveX部件是一段可重復(fù)使用的編程代碼和數(shù)據(jù),它由ActiveX技術(shù)所創(chuàng)建的一個(gè)或多個(gè)對象組成。VB應(yīng)用程序可以使用現(xiàn)有的部件,如包含在Microsoft Office應(yīng)用程序中的部件、各家制造廠商所提供的代碼部件、ActiveX文檔或ActiveX控件中含有的部件等。此外,它還可以自行開發(fā)ActiveX控件。
ActiveX部件可以將現(xiàn)存的、完善的應(yīng)用程序片段有效地結(jié)合在一起。使用ActiveX部件,可以在自己的應(yīng)用程序中利用很多其他Windows應(yīng)用程序所提供的功能,如Microsoft Excel、Microsoft Word和Microsoft Access中都提供了能通過VB應(yīng)用程序操縱的對象。這樣,開發(fā)人員就可以在自己的應(yīng)用程序中使用Excel的電子數(shù)據(jù)表、Word文檔或者Acces、數(shù)據(jù)庫的屬性、方法和事件。
1.2 VB操作Word文檔的方法
使用ActiveX部件提供的對象與操作其他對象的方法十分相似。在VB應(yīng)用程序,在使用部件對象之前,先要在工程中添加對該部件的引用,并聲明對象變量,將對象引用賦予該變量,然后編寫使用對象的方法、屬性與事件的代碼。在VB操作Word文檔的方法如下。
(1)添加對部件的引用。從"工程"菜單中選擇"引用",在"引用"對話框中添加對" Microsoft Word 8.0 Object Library"的引用·
(2)在程序聲明Word對象變量,并將對象引用賦予該變量,方法如下。
Dim wdAppl As Word.Application 為Word應(yīng)用程序聲明對象變量。
Set wdAppl=New Word Application 將對象引用賦值給該變量。
上而的對象引用中的對象變量被聲明為一個(gè)特定類的變量wdAppl,對象引用是事前綁定的。如果對象引用的對象變量被聲明為一般的Object類的變量,則對象引用是事后綁定。例如也可以將對于Word對象的引用賦予下列Object類的變量wdApp2
Dim wdApp2 As Object事后綁定
Set wdApp2=Create0bject("Word.Application")
通常事后綁定變量wdApp2的代碼比使用事前綁定變量wdApp 1的代碼執(zhí)行得慢。這是由于當(dāng)聲明一個(gè)變量As Object時(shí),VB在編譯期間不能確定該變量含有的對象引用的性質(zhì)。在這種情況下,VB必須使用事后綁定,即VB在運(yùn)行期間,才能確定對象是否具有代碼中要使用的屬性和方法。
(3)使用Word對象的屬性和方法。將Word對象引用賦予對象變量后,即可用該變量操作對象的屬性和方法。使用Word部件對象的屬性和方法與普通對象沒有任何差別。
部件提供的對象一般是分層次的。Office應(yīng)用程序和其他ActiveX部件在它們的對象層次中提供了一個(gè)頂層外部可創(chuàng)建對象,即提供了對該層次中其他對象的訪問以及對整個(gè)應(yīng)用程序起作用的方法和屬性。
例如,每個(gè)Microsoft Office應(yīng)用程序提供一個(gè)頂層Application對象,用這些變量可以訪問每個(gè)應(yīng)用程序中的從屬對象,以及這此對象的屬性和方法。例如,用Application 對象的子對象Selection的TypeParagraph方法實(shí)現(xiàn)Word文檔分段操作。代碼為:
wdApp 1.Selection.Typelaragraph
在程序開發(fā),I,若要使用Word對象的屬性和方法來完成對Word文檔的某種自動(dòng)操作,一個(gè)方便的方法是利用Word 中的內(nèi)錄制器來錄制相應(yīng)的手動(dòng)Word文檔的操作過程,錄制器可以自動(dòng)創(chuàng)建內(nèi)。Word先將內(nèi)錄制為一系列用VBA(Visual Basic for Applications)表示的宏代碼。然后用戶可以在"Visual Basic編輯器",將錄制好的宏代碼拷貝到VB應(yīng)用程序中由于VBA是VB的一個(gè)子集,因此只需稍作修改,就能在VB程序中實(shí)現(xiàn)對Word文檔的自動(dòng)操作。但是,不是所有的手動(dòng)操作都能被錄制,內(nèi)錄制器不能錄制鼠標(biāo)在文檔窗口的移動(dòng)。例如,不能用鼠標(biāo)移動(dòng)插入點(diǎn)或通過單擊、拖動(dòng)等操作來選定、復(fù)制或移動(dòng)項(xiàng)目。要錄制該類操作,必須使用快捷鍵。
在本程中,因?yàn)樯婕暗綄ξ募稹D文檔的操作,因此使用了SFO對象模型.該模型提供了基于對象的上具來處理文件火和文件。對象的屬性、方法和事件之前,要對其進(jìn)行引用。引用方法是選擇"工程"菜單的"引用"命令,再選擇"Microsoft Scripting Runtime"復(fù)選框。創(chuàng)建FSO對象可以通過將一個(gè)變量聲明為FileSystemObject對象類型來完成,例如:
Dim fso As New FileSystem
2程序設(shè)計(jì)與實(shí)現(xiàn)
2.1實(shí)施圖文檔管理的步驟
(1)對圖文檔進(jìn)行分類編碼
文檔的分類編碼有利于對其進(jìn)行管理。在本系統(tǒng)文檔的分類編碼按照2段分類碼進(jìn)行。第一段為3位類別碼,第二段為3位識(shí)別碼。類別碼用于對文檔類別進(jìn)行分類,同一類別的文檔用識(shí)別碼進(jìn)行區(qū)分,因此用類別碼和識(shí)別碼就可惟一標(biāo)識(shí)一個(gè)文檔。文檔的文件名前綴就用它的類別碼和識(shí)別碼進(jìn)行命名。如某個(gè)文檔的分類碼為22_275,其220為它的類別碼,275為它的識(shí)別碼,則它的文件名前綴就是220_275.
(2)自動(dòng)生成Word管理文檔
在程序中可以創(chuàng)建圖文檔管理目錄,將需要管理的圖文檔添加到管理目錄內(nèi),或從管理目錄,I刪去圖文檔,然后可以根據(jù)管理目錄內(nèi)的圖文檔自動(dòng)生成Word管理文檔。管理文檔生成的過程是:首先啟動(dòng)Word程序,可事先選擇前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行;接著創(chuàng)建新的Word文檔,將圖文檔按編碼順序依次插入到Word文檔,并標(biāo)注圖號(hào),圖號(hào)與編碼號(hào)一致;然后在Word文檔的前部生成圖號(hào)目錄;最后保存Word文檔,關(guān)閉Word .
通過這種自動(dòng)生成的管理文檔可以實(shí)現(xiàn)批量圖文檔的管理。通過圖號(hào)目錄可以方便地查找并定位到所需文檔,雙擊所需文檔后,可以激活并編輯該文檔。
2.2圖文檔的插入方法
將圖文檔插入到Word文檔的方法可以總結(jié)為以下幾種:插入法、嵌入法和鏈接法。在Word管理文檔的自動(dòng)生成過程中采用不同的圖文檔插入方法所產(chǎn)生的效果是不同的。
(1)插入法。與另外2種方法不同的是,該方法僅適用于圖像文件。一幅13.6*6.7cm、24色、JYG格式的圖片A用插入法插入到Word文檔后為36KB。用這種方法將圖像文件插入到Word文檔后,圖片可復(fù)原,但復(fù)原效果不理想。插入法是通過在VB程序中用Selection對象的子對象lnlineShapes的AddPicture方法來實(shí)現(xiàn)。
(2)嵌入法。常見的圖文檔都能用該方法插入到Word文檔。圖片A用嵌入法插入到Word文檔后為4061KB ,圖片可復(fù)原。雖嵌入后的文件字?jǐn)?shù)大,但是其最大好處是,可以在Word文件中雙擊畫而,迅速激活圖文檔直接進(jìn)行瀏覽或編輯。對于批量打印圖像文件并有較高清晰度要求時(shí),可采用這種插入方法。嵌入法的操作在VB程序,用Selection對象的子對象lnlineShapes的AddOLEObject方法來實(shí)現(xiàn).
(3)鏈接法。該方法與嵌入法的區(qū)別在于數(shù)據(jù)的存放位置及將其插入Word文檔后的更新方式不同。在鏈接法中,對源文件的修改將反映到Word文檔中。圖片A用鏈接法插入到Word文檔后,為394KB,圖片不可復(fù)原。對于像PDF, DOC等非圖像文件或較大的音像文件的管理,可以采用這種插入方法,并將文件以圖標(biāo)的形式顯示于Word文檔.插入Word文檔的只是代表文件內(nèi)容的圖標(biāo)。這樣做可以使生成的Word文檔所占空間較小。鏈接法的操作在VB程序中也用Selection對象的子對象lnlineShapes的AddOLE0dject方法來實(shí)現(xiàn),其參數(shù)Link1olile設(shè)為True。若要以圖標(biāo)形式插入,參數(shù)DisplayAsleon設(shè)為True。
3 總結(jié)
本文介紹了一種通過VB應(yīng)用程序自動(dòng)生成Word文檔來管理圖文檔的方法。該方法借助于宏錄制器錄制手動(dòng)操作后生成宏代碼,簡單實(shí)用。用VB操作Excel,Access等其他Office應(yīng)用程序時(shí)也可采用這種方法。這種在程序中操作Office工具的應(yīng)用十分廣泛。事實(shí)上,在用Delphi實(shí)現(xiàn)相似操作時(shí),也可以借助于宏代碼,但需要將VBA表示的宏代碼轉(zhuǎn)換成符合Pascal語法的形式。
要實(shí)現(xiàn)對Word文檔的自動(dòng)操作,可以用自動(dòng)化工具Word內(nèi)來完成,但Word內(nèi)必須在Word內(nèi)使用而不適用于應(yīng)用系統(tǒng)的開發(fā)。而采用 ActiveX部件技術(shù)可以實(shí)現(xiàn)在VB中控制Word自動(dòng)完成文檔操作。其方法是先將圖文檔按編碼順序依次插入到Word文檔中并標(biāo)注圖號(hào),再生成圖檔目錄。通過這種自動(dòng)生成的管理文檔可以實(shí)現(xiàn)批量圖文檔的管理,且通過圖號(hào)目錄可以方便地查找并定位到所需文檔。雙擊所需文檔后,該文檔被激活。
這種圖文檔管理方法簡單實(shí)用。對于圖像文件,可以方便地實(shí)現(xiàn)查找、定位、預(yù)覽和編輯。利用Word的打印功能,還可節(jié)約批量圖檔打印的時(shí)間。下而將詳細(xì)介紹相關(guān)原理與技術(shù)。
1在VB中操作Word文檔
1.1 ActiveX部件技術(shù)概述
ActiveX部件是一段可重復(fù)使用的編程代碼和數(shù)據(jù),它由ActiveX技術(shù)所創(chuàng)建的一個(gè)或多個(gè)對象組成。VB應(yīng)用程序可以使用現(xiàn)有的部件,如包含在Microsoft Office應(yīng)用程序中的部件、各家制造廠商所提供的代碼部件、ActiveX文檔或ActiveX控件中含有的部件等。此外,它還可以自行開發(fā)ActiveX控件。
ActiveX部件可以將現(xiàn)存的、完善的應(yīng)用程序片段有效地結(jié)合在一起。使用ActiveX部件,可以在自己的應(yīng)用程序中利用很多其他Windows應(yīng)用程序所提供的功能,如Microsoft Excel、Microsoft Word和Microsoft Access中都提供了能通過VB應(yīng)用程序操縱的對象。這樣,開發(fā)人員就可以在自己的應(yīng)用程序中使用Excel的電子數(shù)據(jù)表、Word文檔或者Acces、數(shù)據(jù)庫的屬性、方法和事件。
1.2 VB操作Word文檔的方法
使用ActiveX部件提供的對象與操作其他對象的方法十分相似。在VB應(yīng)用程序,在使用部件對象之前,先要在工程中添加對該部件的引用,并聲明對象變量,將對象引用賦予該變量,然后編寫使用對象的方法、屬性與事件的代碼。在VB操作Word文檔的方法如下。
(1)添加對部件的引用。從"工程"菜單中選擇"引用",在"引用"對話框中添加對" Microsoft Word 8.0 Object Library"的引用·
(2)在程序聲明Word對象變量,并將對象引用賦予該變量,方法如下。
Dim wdAppl As Word.Application 為Word應(yīng)用程序聲明對象變量。
Set wdAppl=New Word Application 將對象引用賦值給該變量。
上而的對象引用中的對象變量被聲明為一個(gè)特定類的變量wdAppl,對象引用是事前綁定的。如果對象引用的對象變量被聲明為一般的Object類的變量,則對象引用是事后綁定。例如也可以將對于Word對象的引用賦予下列Object類的變量wdApp2
Dim wdApp2 As Object事后綁定
Set wdApp2=Create0bject("Word.Application")
通常事后綁定變量wdApp2的代碼比使用事前綁定變量wdApp 1的代碼執(zhí)行得慢。這是由于當(dāng)聲明一個(gè)變量As Object時(shí),VB在編譯期間不能確定該變量含有的對象引用的性質(zhì)。在這種情況下,VB必須使用事后綁定,即VB在運(yùn)行期間,才能確定對象是否具有代碼中要使用的屬性和方法。
(3)使用Word對象的屬性和方法。將Word對象引用賦予對象變量后,即可用該變量操作對象的屬性和方法。使用Word部件對象的屬性和方法與普通對象沒有任何差別。
部件提供的對象一般是分層次的。Office應(yīng)用程序和其他ActiveX部件在它們的對象層次中提供了一個(gè)頂層外部可創(chuàng)建對象,即提供了對該層次中其他對象的訪問以及對整個(gè)應(yīng)用程序起作用的方法和屬性。
例如,每個(gè)Microsoft Office應(yīng)用程序提供一個(gè)頂層Application對象,用這些變量可以訪問每個(gè)應(yīng)用程序中的從屬對象,以及這此對象的屬性和方法。例如,用Application 對象的子對象Selection的TypeParagraph方法實(shí)現(xiàn)Word文檔分段操作。代碼為:
wdApp 1.Selection.Typelaragraph
在程序開發(fā),I,若要使用Word對象的屬性和方法來完成對Word文檔的某種自動(dòng)操作,一個(gè)方便的方法是利用Word 中的內(nèi)錄制器來錄制相應(yīng)的手動(dòng)Word文檔的操作過程,錄制器可以自動(dòng)創(chuàng)建內(nèi)。Word先將內(nèi)錄制為一系列用VBA(Visual Basic for Applications)表示的宏代碼。然后用戶可以在"Visual Basic編輯器",將錄制好的宏代碼拷貝到VB應(yīng)用程序中由于VBA是VB的一個(gè)子集,因此只需稍作修改,就能在VB程序中實(shí)現(xiàn)對Word文檔的自動(dòng)操作。但是,不是所有的手動(dòng)操作都能被錄制,內(nèi)錄制器不能錄制鼠標(biāo)在文檔窗口的移動(dòng)。例如,不能用鼠標(biāo)移動(dòng)插入點(diǎn)或通過單擊、拖動(dòng)等操作來選定、復(fù)制或移動(dòng)項(xiàng)目。要錄制該類操作,必須使用快捷鍵。
在本程中,因?yàn)樯婕暗綄ξ募稹D文檔的操作,因此使用了SFO對象模型.該模型提供了基于對象的上具來處理文件火和文件。對象的屬性、方法和事件之前,要對其進(jìn)行引用。引用方法是選擇"工程"菜單的"引用"命令,再選擇"Microsoft Scripting Runtime"復(fù)選框。創(chuàng)建FSO對象可以通過將一個(gè)變量聲明為FileSystemObject對象類型來完成,例如:
Dim fso As New FileSystem
2程序設(shè)計(jì)與實(shí)現(xiàn)
2.1實(shí)施圖文檔管理的步驟
(1)對圖文檔進(jìn)行分類編碼
文檔的分類編碼有利于對其進(jìn)行管理。在本系統(tǒng)文檔的分類編碼按照2段分類碼進(jìn)行。第一段為3位類別碼,第二段為3位識(shí)別碼。類別碼用于對文檔類別進(jìn)行分類,同一類別的文檔用識(shí)別碼進(jìn)行區(qū)分,因此用類別碼和識(shí)別碼就可惟一標(biāo)識(shí)一個(gè)文檔。文檔的文件名前綴就用它的類別碼和識(shí)別碼進(jìn)行命名。如某個(gè)文檔的分類碼為22_275,其220為它的類別碼,275為它的識(shí)別碼,則它的文件名前綴就是220_275.
(2)自動(dòng)生成Word管理文檔
在程序中可以創(chuàng)建圖文檔管理目錄,將需要管理的圖文檔添加到管理目錄內(nèi),或從管理目錄,I刪去圖文檔,然后可以根據(jù)管理目錄內(nèi)的圖文檔自動(dòng)生成Word管理文檔。管理文檔生成的過程是:首先啟動(dòng)Word程序,可事先選擇前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行;接著創(chuàng)建新的Word文檔,將圖文檔按編碼順序依次插入到Word文檔,并標(biāo)注圖號(hào),圖號(hào)與編碼號(hào)一致;然后在Word文檔的前部生成圖號(hào)目錄;最后保存Word文檔,關(guān)閉Word .
通過這種自動(dòng)生成的管理文檔可以實(shí)現(xiàn)批量圖文檔的管理。通過圖號(hào)目錄可以方便地查找并定位到所需文檔,雙擊所需文檔后,可以激活并編輯該文檔。
2.2圖文檔的插入方法
將圖文檔插入到Word文檔的方法可以總結(jié)為以下幾種:插入法、嵌入法和鏈接法。在Word管理文檔的自動(dòng)生成過程中采用不同的圖文檔插入方法所產(chǎn)生的效果是不同的。
(1)插入法。與另外2種方法不同的是,該方法僅適用于圖像文件。一幅13.6*6.7cm、24色、JYG格式的圖片A用插入法插入到Word文檔后為36KB。用這種方法將圖像文件插入到Word文檔后,圖片可復(fù)原,但復(fù)原效果不理想。插入法是通過在VB程序中用Selection對象的子對象lnlineShapes的AddPicture方法來實(shí)現(xiàn)。
(2)嵌入法。常見的圖文檔都能用該方法插入到Word文檔。圖片A用嵌入法插入到Word文檔后為4061KB ,圖片可復(fù)原。雖嵌入后的文件字?jǐn)?shù)大,但是其最大好處是,可以在Word文件中雙擊畫而,迅速激活圖文檔直接進(jìn)行瀏覽或編輯。對于批量打印圖像文件并有較高清晰度要求時(shí),可采用這種插入方法。嵌入法的操作在VB程序,用Selection對象的子對象lnlineShapes的AddOLEObject方法來實(shí)現(xiàn).
(3)鏈接法。該方法與嵌入法的區(qū)別在于數(shù)據(jù)的存放位置及將其插入Word文檔后的更新方式不同。在鏈接法中,對源文件的修改將反映到Word文檔中。圖片A用鏈接法插入到Word文檔后,為394KB,圖片不可復(fù)原。對于像PDF, DOC等非圖像文件或較大的音像文件的管理,可以采用這種插入方法,并將文件以圖標(biāo)的形式顯示于Word文檔.插入Word文檔的只是代表文件內(nèi)容的圖標(biāo)。這樣做可以使生成的Word文檔所占空間較小。鏈接法的操作在VB程序中也用Selection對象的子對象lnlineShapes的AddOLE0dject方法來實(shí)現(xiàn),其參數(shù)Link1olile設(shè)為True。若要以圖標(biāo)形式插入,參數(shù)DisplayAsleon設(shè)為True。
3 總結(jié)
本文介紹了一種通過VB應(yīng)用程序自動(dòng)生成Word文檔來管理圖文檔的方法。該方法借助于宏錄制器錄制手動(dòng)操作后生成宏代碼,簡單實(shí)用。用VB操作Excel,Access等其他Office應(yīng)用程序時(shí)也可采用這種方法。這種在程序中操作Office工具的應(yīng)用十分廣泛。事實(shí)上,在用Delphi實(shí)現(xiàn)相似操作時(shí),也可以借助于宏代碼,但需要將VBA表示的宏代碼轉(zhuǎn)換成符合Pascal語法的形式。

世界服裝鞋帽網(wǎng)版權(quán)與免責(zé)聲明:
1、凡本網(wǎng)注明"來源:世界服裝鞋帽網(wǎng)sjfzxm.com"的所有作品,版權(quán)均屬世界服裝鞋帽網(wǎng)所有,轉(zhuǎn)載請注明"來源:世界服裝鞋帽網(wǎng)sjfzxm.com",違者,本網(wǎng)將追究相關(guān)法律責(zé)任。
2、本網(wǎng)其他來源作品,均轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,不表明證實(shí)其描述或贊同其觀點(diǎn)。文章內(nèi)容僅供參考。
3、若因版權(quán)等問題需要與本網(wǎng)聯(lián)絡(luò),請?jiān)?0日內(nèi)聯(lián)系我們,電話:0755-32905944,或者聯(lián)系電子郵件: 434489116@qq.com ,我們會(huì)在第一時(shí)間刪除。
4、在本網(wǎng)發(fā)表評(píng)論者責(zé)任自負(fù)。
- 品牌匯聚虎門:“2021灣區(qū)品牌服裝賀歲樂購展”驚艷來襲!
- 木棉道 | 華服小姐姐邊走秀邊聊天?“陌上木蘭 · 扶搖”發(fā)布會(huì)花絮揭秘
- 木棉道 · 感謝有你 | 生命中的每一天都值得感恩!
- 巴迪小虎:打造中國童裝時(shí)尚的風(fēng)尚標(biāo)桿
- 華服之美,扶搖直上——虎門時(shí)裝周木棉道“陌上木蘭 · 扶搖”發(fā)布會(huì)圓滿落幕
- 關(guān)注:2020中國紡織服裝供應(yīng)鏈論壇 積極推進(jìn)構(gòu)建 “國際國內(nèi)雙循環(huán)
- 20日匯率:1美元對人民幣6.5786元
- 木棉道 | 松鶴刺繡,穿一抹清幽在身上
網(wǎng)友評(píng)論僅供其表達(dá)個(gè)人看法,并不表明本網(wǎng)同意其觀點(diǎn)或證實(shí)其描述,發(fā)言請遵守相關(guān)規(guī)定。