您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 用NET的VSTO产出Office档案(Word)
第21章用.NET的VSTO產出Office檔案(Word)本節所使用的.NET版本為.NET200818-1.本章目的:.....................................................................................................................118-2.VSTO簡介與基本觀念:................................................................................................318-3.MSDN中的範例教學(VSTOforWord):..................................................................418-4.Word物件架構...............................................................................................................718-5.範例練習[exp21-5]:在Word裡面輸出一段文字(2段文字).....................................918-6.範例練習[exp21-6]:在Word裡面輸出一段文字(顏色、標楷體、粗體)..............1318-7.範例練習[exp21-7]:在Word裡面輸出一段文字(標題一、標題二、標題三)......1518-8.範例練習[exp21-8]:在Word裡面設定頁首、頁尾................................................1818-9.範例練習[exp21-9]:在Word裡面製作表格............................................................2118-10.範例練習[exp21-10]:由Access2007讀進書籍樣式與內文,並在Word印出...2418-11.範例練習[exp21-11]:由Access2007讀進書籍樣式與內文,以迴圈自動將書籍印出在Word檔案內..................................................................................................................2918-1.本章目的:(1).本節將介紹如何使用『VisualStudioToolsforOffice』來產出各種office檔案(2).使用VisualStudioToolsforOffice來開發可善用MicrosoftOffice2003和2007MicrosoftOfficeSystem的方案(3).練習讀進各種資料檔案MSDN中的範例教學(VSTOforExcel):範例練習[exp21-1]:將Access資料庫讀到Excel中(簡易版)範例練習[exp21-2]:將Access資料庫讀到Excel中(複雜版範例練習[exp21-3]:4種寫入Excel儲存格的方法範例練習[exp21-4]:使用WindowsForm存到資料表內(4).MSDN中的範例教學(VSTOforWord):範例練習[exp21-5]:在Word裡面輸出一段文字(2段文字)範例練習[exp21-6]:在Word裡面輸出一段文字(顏色、標楷體、粗體)範例練習[exp21-7]:在Word裡面輸出一段文字(標題一、標題二、標題三)範例練習[exp21-8]:在Word裡面設定頁首、頁尾範例練習[exp21-9]:在Word裡面製作表格18-2.VSTO簡介與基本觀念:(1).VisualStudioToolsforOffice簡稱為『VSTO』(2).VSTO可以產出的office檔案有:『Excel方案、InfoPath方案、Outlook方案、PowerPoint方案、SharePoint工作流程方案、Visio方案、Word方案』(3).透過VisualStudio2008的VSTO,我們可以開發各式各樣的Office應用程式,包括增益集、以文件為主的解決方案、以及和Office結合的應用程式。18-3.MSDN中的範例教學(VSTOforWord):逐步解說會提供適用於常見案例的逐步指示,而且是學習VisualStudioToolsforOffice的最佳入門。下列逐步解說示範使用文件層級自訂和應用程式層級增益集(Add-In)來自動化MicrosoftOfficeWord和自訂使用者介面(UI)的方法。Word2007和Word2003的逐步解說下列逐步解說可以在Word2007和Word2003的專案中執行。A.應用程式層級逐步解說逐步解說:建立Word的第一個應用程式層級增益集示範如何建立Word的基本應用程式層級增益集。B.文件層級逐步解說逐步解說:建立Word的第一個文件層級自訂示範如何建立Word的基本文件層級自訂。逐步解說:從執行窗格將文字插入文件示範使用者在執行窗格的控制項中輸入文字時,如何將文字加入至Word文件。逐步解說:在Word執行窗格將資料繫結至控制項示範如何將資料繫結至執行窗格上的控制項。控制項示範SQLServer資料庫中資料表之間的主從式關聯。逐步解說:使用CheckBox控制項來變更文件格式示範如何使用Word文件上的核取方塊,以變更格式。逐步解說:使用按鈕在文件的文字方塊中顯示文字示範在如何在Word文件上使用按鈕和文字方塊。逐步解說:使用選項按鈕更新文件中的圖表示範如何使用文件層級自訂中的選項按鈕,變更Word文件中的圖表樣式。逐步解說:建立書籤的快速鍵功能表示範如何建立可用來設定書籤中文字格式的快速鍵功能表。逐步解說:使用文件層級自訂建立智慧標籤示範如何在文件層級自訂中建立智慧標籤。Word2007的逐步解說下列逐步解說只能在Word2007的專案中執行。C.應用程式層級逐步解說逐步解說:在應用程式層級增益集的執行階段中將控制項加入至文件示範如何使用應用程式層級增益集,將控制項加入至文件。逐步解說:使用功能區XML建立自訂的索引標籤示範如何在應用程式層級增益集中,使用XML描述項檔案建立自訂[功能區]索引標籤。逐步解說:運用自訂工作窗格自動化應用程式示範如何從應用程式層級增益集的自訂工作窗格自動化Word。逐步解說:使用應用程式層級增益集建立智慧標籤示範如何透過應用程式層級增益集建立智慧標籤。D.文件層級逐步解說逐步解說:在VisualBasic專案中呼叫VBA的程式碼示範如何從文件中的VBA程式碼呼叫自訂組件(Assembly)內的程式碼。逐步解說:使用內容控制項建立範本示範如何使用內容控制項,在Word範本中建立可重複使用的結構化內容。逐步解說:將內容控制項繫結至自訂XML組件示範如何將Word文件中的內容控制項繫結至儲存於文件中的XML資料。18-4.Word物件架構Word物件架構Word是以文件為主的應用程式,所以它的物件架構也是圍繞在文件上頭。先來想想,一份文件中包含了那些東西呢?對啦!除了整份文章之外,其中包含章節、段落、句子、以及文字。所以很合理的這些也是構成Word物件的主要元素。對於Word應用程式來說,整份文件相當於一個Document物件,而這份文件可分為多個分節,章節是以章節符號分隔,必須透過選單上的「插入」--「分隔設定」的分節符號類型分開,每個分節即為Section物件。每個分節亦可有多個段落,段落是以Enter符號表示,而每個段落則為一個Paragraph物件。再來看看段落,段落中可包含多個句子,每個句子以標點符號分開,每個句子為Sentence物件。另外還有Range物件,Range物件泛指段落、句子、文字…等物件,用在您對這個範圍同時處理某件事時使用,例如:您要對二個以上的段落指定它的字型大小;此時,您可以選定這兩個段落為一個Range物件,然後,再處理字型大小的設定。右方圖三是Word物件架構圖。一般常用的範例中,僅需使用Document、Range、Paragraph物件。Document物件Document物件即為整份文件,當我們透過範本來開啟一個文件時,這個物件也隨之產生。所以在使用者開啟「講義範本」時,Word也會依據這個範本產生一份文件Document物件,而這份文件就是我們要貼上簡報及編輯的文件。但在巨集中您要讓程式知道它要處理的目標文件為何,所以您必須定義一個Document物件來指定目前文SetwrdDOC=ActiveDocument件。因此我們利用ActiveDocument為目前的文件。另外,如果您想利用句集來建立一份新的文件時,也是需要透過Document物件的。您可以這樣寫,即可產生一份新的文件。Documents.Add或者,您希望這份文件開啟時套用範本,那麼您可以在AddMethod後面傳進Template這個參數,如下程式碼:DimwrdDocasDocumentSetwrdDoc=Documents.Add(Template:=C:\MyTemplate.dot)Paragraph物件Paragraph物件是一個段落物件。任何文字或圖案都是放在段落中的。必須先取得這個段落的範圍物件,而且是文章內的第一個段落,右邊的程式碼即為取得第一個段落的範圍。DimpaASRangeSetpa=wrdDOC.Paragraphs(1).RangeRange物件Range物件泛指段落、句子、文字…等物件。所以我們利用Range物件取回文章的第一個段落之後,接著我們可以利用Range物件提供的Pastemethod,這個Pastemethod可以協助我們將剪貼簿上的資料取得,並將取得的資料貼到Range物件所指的範圍。因此,您可以將複製在剪貼簿上的簡報圖案,貼到這個Range物件所指定的範圍。另外,Range物件也提供了一些與插入段落有關的Method,像是:InsertAfter可以讓您在這個段落之後插入一段文字,範例如右:range.InsertAfterText:=NewText或是InsertParagraphAfter,在目前範圍之後插入一個段落,範例如右:Range.InsertParagraphAfter如果您想來個換頁符號,那麼您可以利用InsertBreakMethod,並傳入Type參數值為wdPageBreak,您可以這樣寫:range.InsertBreakType:=wdPageBreak18-5.範例練習[exp21-5]:在Word裡面輸出一段文字(2段文字)(1).練習目標:在這個步驟中,將逐步解說將示範如何建立MicrosoftOfficeWord的文件層級自訂。只有在特定的文件開啟時,才能使用這種方案中建立的功能。但不能使用文件層級自訂來進行應用程式層級的變更,例如在任何文件開啟時顯示新功能區索引標籤。(2).工作項目:這個逐步解說將說明下列工作:建立適用於Word2003或Word2007的Word文件專案。將文字加入至VisualStudio設計工具中裝載的文件。撰寫可使用Word物件模型,在自訂文件開啟時將文字加入至此文件的程式碼。建置和執行專案來進行測試。清除專案,將不需要的組建檔案和安全性設定從開發電腦上移除。(3).步驟1:建立新的專案建立名為exp21-5的Word2007文件專案(4).步驟2:在設計工具中關閉並重新開啟文件若要在設計工具中關閉並重新開啟文件按一下設計工具視窗的[關閉]按鈕(X),關閉文件。在[方案總管]中,以滑鼠右鍵按一下[ThisDocument.vb]程式碼檔,然後按一下[設計工具檢視]。-或-在[方案總管]中,按兩下[ThisDocum
本文标题:用NET的VSTO产出Office档案(Word)
链接地址:https://www.777doc.com/doc-5445562 .html