精品国产亚洲一区二区三区,男女作爱在线观看免费网站,欧美的又大又长做禁片A片,97国产精品人妻无码久久久

  • 相關(guān)軟件
    >在Visual Basic 6.0 中創(chuàng)建Word文檔 創(chuàng)建者:webmaster 更新時間:2005-07-02 01:40

    引言

      Word文檔是實際工作學(xué)習(xí)中最為常用的文檔格式之一。

      隨著社會信息化程度的提高,一些傳統(tǒng)的由人工完成工作逐漸轉(zhuǎn)向由計算機(jī)來處理。計算機(jī)自動組卷系統(tǒng)便是一個典型的例子。為了追求更高的效率,一些計算機(jī)自動組卷系統(tǒng)的單位用戶要求由軟件輸出Word格式的試卷不需排版直接供印刷使用。

      由于Microsoft Office套件的普及,Word文檔、電子表格文檔、電子幻燈片等文檔日漸常用。雖然在Office中各個程序的文檔可以方便地轉(zhuǎn)換,但是這種轉(zhuǎn)換是以失去文檔原本的格式為代價的。例如,在自動組卷系統(tǒng)中,存儲在Access數(shù)據(jù)庫中的試卷可以通過Access提供的導(dǎo)出功能產(chǎn)生Word文檔,但產(chǎn)生的文檔是無格式的,需花費大量時間重新排版方可符合用戶在試卷格式上的要求。

      針對這一問題,本文討論通過研究Word對象模型,提出使用該對象模型創(chuàng)建符合用戶所要求的特定格式的Word文檔的方法。

      Word對象模型

      1、Word對象模型層次結(jié)構(gòu)

      對象是 Visual Basic的基石,幾乎在 Visual Basic 中的每個操作都與修改對象有關(guān)。Word 的任何元素(如文檔、表格、段落、域、書簽等)都可以用 Visual Basic 中的對象來代表。

      對象代表一個 Word 的元素,如文檔、段落、書簽或單個的字符。集合也是一個對象,該對象包含其他數(shù)個對象,通常這些對象屬于相同的類型,例如,一個集合對象中可包含文檔中的所有書簽對象。通過使用屬性和方法,可以修改單個的對象,也可修改整個的對象集合。

      Microsoft Word Visual Basic提供一套完整的Word對象模型,這是一個以Application為頂層對象的對象層次結(jié)構(gòu)。其結(jié)構(gòu)如圖-1所示。







      對象由兩種類型的成員構(gòu)成,一種是屬性,第二種成員是方法。

      屬性是對象的一個特性或者該對象行為的一個方面。例如,文檔屬性包含名稱、內(nèi)容、保存狀態(tài)以及是否啟用修訂。要更改一個對象的特征,可以修改其屬性值。要設(shè)置一個屬性的值,需在對象的后面緊接一個句點、屬性名稱、一個等號及新的屬性值。下面的示例在"MyDoc.doc"文檔中啟用修訂。





    Documents("MyDoc.doc").TrackRevisions = True

      方法是對象可以進(jìn)行的動作。例如,只要文檔可以打印,Document 對象就具有 PrintOut 方法。方法通常都帶有參數(shù),限定動作將如何進(jìn)行。下面的示例打印活動文檔的前三頁。





    ActiveDocument.PrintOut From:=1, To:=3

      在大多數(shù)情況下,方法是動作,而屬性是性質(zhì)。使用方法將導(dǎo)致針對對象的某些事情發(fā)生,而使用屬性則會返回對象的信息,或者引起對象的某個性質(zhì)的改變。

      2、Document對象和Documents 集合對象

      在 Visual Basic 中,可使用 Document 對象或 Documents 集合對象的方法來修改文件。Document 對象是本文用來創(chuàng)建Word 文檔的主要對象。

      Word對象模型中Documents(Document)對象集(或Document)對象的結(jié)構(gòu)如圖-2所示。







      其中的 Paragraphs 集合對象與PageSetup對象將是下文的主角。Paragraphs 集合對象是由選定內(nèi)容、范圍或文檔中的 Paragraph 對象組成的集合。PageSetup 對象代表頁面設(shè)置描述。PageSetup 對象包含了文檔的所有頁面設(shè)置屬性(左邊距、下邊距、紙張大小,等等)。

      在熟悉了Word 對象模型的基礎(chǔ)上,我們可以使用Document 對象對Word 文檔進(jìn)行各種操作,例如:

      2.1 新建一篇文檔

      Documents 集合包含所有打開的文檔。要新建一篇文檔,可使用 Add 方法將一個 Document 對象添至 Documents 集合。

      新建文檔的方法之一是使用Add方法。Add 方法將返回 Document 對象,該對象引用新文檔。在下面的示例中,把 Add 方法返回的 Document 對象賦予一個對象變量 newDoc。然后設(shè)置該 Document 對象的幾種屬性和方法。通過 newDoc 對象變量,可以很容易地控制新文檔。





    Set newDoc = Documents.Add
    With newDoc
    .Content.Font.Name = "Arial"
    .SaveAs FileName:="Sample.doc"
    End With

      2.2 打開文檔

      要打開一篇現(xiàn)有的文檔,可使用 Documents 集合的 Open 方法。下面的代碼打開名為 MyDocument.doc 的文檔(該文檔位于"MyFolder"文件夾中)。





    Documents.Open FileName:="C:\MyFolder\MyDocument.doc"

      2.3 保存一篇現(xiàn)有文檔

      要保存一篇文檔,可使用 Document 對象的 Save 方法。下面的代碼保存名為 Sales.doc 的文檔。





    Documents("Sales.doc").Save

      如果對 Documents 集合應(yīng)用 Save 方法,可以保存所有打開的文檔。下面的代碼保存所有打開的文檔。





    Documents.Save

      2.4 保存一篇新文檔

      要保存一篇文檔,可使用 Document 對象的 SaveAs 方法。下面的代碼將活動文檔保存于當(dāng)前文件夾,取名為"Temp.doc"。





    ActiveDocument.SaveAs FileName:="Temp.doc"

      FileName 參數(shù)可以只包含文件名,也可包含完整的路徑(例如"C:\Documents\Temporary File.doc")。

      2.5 關(guān)閉文檔

      要關(guān)閉單個文檔,可使用 Document 對象的 Close 方法。下面的代碼關(guān)閉并保存名為 Sales.doc 的文檔。





    Documents("Sales.doc").Close SaveChanges:=wdSaveChanges

      可應(yīng)用 Documents 集合的 Close 方法關(guān)閉所有的文檔。下面的代碼在不保存修改的情況下關(guān)閉所有的文檔。





    Documents.Close SaveChanges:=wdDoNotSaveChanges
    在Visual Basic中創(chuàng)建Word文檔

      1、Visual Basic中創(chuàng)建Document對象

      所有的工作都從Document對象開始,首先在Visual Basic中創(chuàng)建一個Document對象的實例,然后就可以對該實例進(jìn)行各種可控制:





    Dim newDoc As Word.Document
    Set newDoc = new Word.Document

      一旦創(chuàng)建了Document對象,就可以設(shè)置文檔的缺省格式,通過設(shè)置Content子對象的字體、行間距等屬性加以實現(xiàn):





    With newDoc
    .Content.Font.Name = "宋體"
    .Content.Font.Size = 12
    .Content.Paragraphs.LineSpacing = 15.5
    End With

      由此得到了一個空Word文檔。

      2、向Word文檔中添加文本

      接下來,向空文檔中添加文本,這將使用Paragraphs集合對象來完成此項工作。InsertAfter方法將文本插入到Selection 或 Range 對象后;InsertBefore 方法將文本插入到Selection 或 Range 對象前。以下代碼向文檔結(jié)尾處添加一個段落并設(shè)置本段落格式:





    With newDoc
     .Content.InsertAfter "示例段落…"
     .Paragraphs(NewDoc.Paragraphs.count).Alignment = wdAlignParagraphCenter
     .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Bold = True
     .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Size = 28
    End With

      可用 Paragraphs(index) 返回一個 Paragraph 對象,其中 index 為索引號;count屬性值表示該文檔主文字部分中的Paragraph對象數(shù)。NewDoc.Paragraphs.count恰好為當(dāng)前正在添加的文本段落的索引號。

      如果需要插入表格,可以使用Table 對象。Add 方法可以在指定范圍內(nèi)新增一表格。下例在活動文檔的起始處添加一 3 x 4 的表格。





    Set myRange = ActiveDocument.Range(Start:=0, End:=0)
    ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

      以可以使用制表字符得到表格。以下代碼在文檔尾部插入一個1x4 的表格。





    NewDoc.Content.InsertAfter "得分" & vbTab & " " & vbTab & "評卷人" & vbTab & " " & vbCr

      創(chuàng)建的表格如圖-3所示:







      3、頁面設(shè)置

      當(dāng)所有段落都添加到文檔以后,可以使用 PageSetup對象進(jìn)行頁面設(shè)置,這需要通過設(shè)置PageSetup對象的各種屬性來完成。

      3.1 設(shè)置分欄和欄間距:





    newDoc.PageSetup.TextColumns.SetCount NumColumns:=2
    newDoc.PageSetup.TextColumns.Spacing = CentimetersToPoints(2)

      3.2 設(shè)置頁邊距:





    With newDoc.PageSetup
     .TopMargin = CentimetersToPoints(4.5)
     .BottomMargin = CentimetersToPoints(1.5)
     .LeftMargin = CentimetersToPoints(0.8)
     .RightMargin = CentimetersToPoints(2)
    End With

      3.3 設(shè)置紙張大小:





    With newDoc.PageSetup
     .PageHeight = CentimetersToPoints(28.1)
     .PageWidth = CentimetersToPoints(38.9)
    End With

      其他的設(shè)置項目不再詳述。

      4、輸出文檔

      對創(chuàng)建完畢的文檔,我們可以選自保存為磁盤文件或直接打印輸出:





    newDoc.SaveAs FileName:="Sample.doc"
    newDoc.PrintOut

      應(yīng)用實例

      以上方法在筆者為某市市委組織部開發(fā)的計算機(jī)自動組卷系統(tǒng)中加以應(yīng)用,該系統(tǒng)流程如圖-4所示。







      該系統(tǒng)產(chǎn)生的試卷要求直接用于考核和選拔基層干部的考試中,首先由出題者輸入試卷參數(shù),即組卷規(guī)則,然后由軟件自動組卷并輸出Word格式的試卷。筆者應(yīng)用上述方法開發(fā)的軟件系統(tǒng)完全滿足了用戶需求。系統(tǒng)現(xiàn)已投入運行,極大地提高了工作效率,獲得了用戶的好評。

      結(jié)束語

      本文提出的在Visual Basic中創(chuàng)建Word文檔的方法基于對象模型,實用性強(qiáng),也可以用于其它支持ActiveX的開發(fā)平臺中。

    相關(guān)文章
    本頁查看次數(shù):