首页 用NET的VSTO产出Office档案(Excel)

用NET的VSTO产出Office档案(Excel)

举报
开通vip

用NET的VSTO产出Office档案(Excel)用NET的VSTO产出Office档案(Excel) 本節所使用的.NET版本為.NET 2008 18-1. 本章目的: ................................................................................................................ 2 18-2. VSTO簡介與基本觀念: .................................................................

用NET的VSTO产出Office档案(Excel)
用NET的VSTO产出Office档案(Excel) 本節所使用的.NET版本為.NET 2008 18-1. 本章目的: ................................................................................................................ 2 18-2. VSTO簡介與基本觀念: ............................................................................................. 3 18-3. MSDN中的範例教學(VSTO for Excel): ................................................................. 4 18-4. 範例練習[exp21-1]:將Access資料庫讀到Excel中(簡易版) .................................. 6 18-5. 範例練習[exp21-2]:將Access資料庫讀到Excel中(複雜版) ................................ 16 18-6. 範例練習[exp21-3]:4 種寫入Excel儲存格的方法 ............................................... 25 18-7. 範例練習[exp21-4]:使用 Windows Form 存到資料 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 內...................................... 34 (1).本節將介紹如何使用『Visual Studio Tools for Office』 來產出各種office檔案 (2).使用Visual Studio Tools for Office 來開發可善用Microsoft Office 2003 和2007 Microsoft Office System 的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 (3).練習讀進各種資料檔案 MSDN中的範例教學(VSTO for Excel): , 範例練習[exp21-1]:將Access資料庫讀到Excel中(簡易版) , 範例練習[exp21-2]:將Access資料庫讀到Excel中(複雜版 , 範例練習[exp21-3]:4 種寫入Excel儲存格的方法 , 範例練習[exp21-4]:使用 Windows Form 存到資料表內 (4).MSDN中的範例教學(VSTO for Word): , 範例練習[exp21-5]:在Word裡面輸出一段文字(2段文字) , 範例練習[exp21-6]:在Word裡面輸出一段文字(顏色、標楷體、粗 體) , 範例練習[exp21-7]:在Word裡面輸出一段文字(標題一、標題二、 標題三) , 範例練習[exp21-8]:在Word裡面設定頁首、頁尾 , 範例練習[exp21-9]:在Word裡面製作表格 (1).Visual Studio Tools for Office簡稱為『VSTO』 (2).VSTO可以產出的office檔案有:『Excel 方案、InfoPath 方 案、Outlook 方案、PowerPoint 方案、SharePoint 工作流 程方案、Visio 方案、Word 方案』 (3).透過 Visual Studio 2008的VSTO,我們可以開發各式各樣 的 Office 應用程式,包括增益集、以文件為主的解決方 案、以及和 Office 結合的應用程式。 Visual Studio Tools 逐步解說會提供適用於常見案例的逐步指示,而且是學習 for Office 的最佳入門。 Microsoft Office Excel下列逐步解說會示範幾種基本的工作:自動化執 行資料分析、使用控制項、部署方案以及設定安全性。 Excel 2007 逐步解說:使用功能區設計工具建立自訂的索引標籤 , Excel 2007 示範如何將自訂索引標籤加入活頁簿的功能區。 Excel 2007 Excel 2003 Excel 2007 Excel 2003 下列逐步解說示範可以使用和執行的工作。 逐步解說:使用收集資料 Windows Form , Windows Form 說明使用收集使用者輸入,然後將這些輸入傳送到 Excel 工作表中的儲存格。 逐步解說:使用控制項來變更工作表格式 CheckBox , Excel 示範使用工作表上的核取方塊變更格式的基本概念。 逐步解說:使用按鈕在工作表的文字方塊中顯示文字 , Excel 示範在工作表上使用按鈕和文字方塊的基本概念。 逐步解說:針對控制項的事件進行程式設計 NamedRange , 提供逐步解說的指示,說明如何將NamedRange控制項加入工作表,並 針對其事件進行程式設計。 逐步解說:文件層級專案中的簡單資料繫結 , SQL Server Excel 示範將資料庫中的單一資料欄位繫結至中之已命名 範圍的基本概念。 逐步解說:文件層級專案中的複雜資料繫結 , Excel Northwind SQL Server 示範將工作表中的多個儲存格,繫結至 資料庫中的欄位之基本概念。 逐步解說:使用快取資料集來建立主從式關聯 , (Master/Detail) 示範在工作表上建立主從式關聯以及快取資料,使得此 方案可以離線使用。 逐步解說:使用選項按鈕更新工作表中的圖表 , Excel 顯示在工作表上,使用選項按鈕變更圖表樣式的基本概念。 逐步解說:將資料繫結至執行窗格上的控制項 Excel , Excel 說明如何將繫結至資料來源的控制項,加入至中的執行窗格。 Excel(1).練習目標: , 在這個步驟中,您將會建立一個 Excel 應用程式專案,並可 執行『文件層級專案中的簡單資料繫結』 , 本逐步解說示範使用文件層級專案進行資料繫結的基本概 念。Access 資料庫中的單一資料欄位會繫結至 Microsoft Office Excel 中的已命名範圍。 , 此逐步解說也將示範如何加入可讓您捲動資料表中所有記錄 的控制項。 (2).工作項目:這個逐步解說將說明下列工作: , 建立 Excel 專案的資料來源。 , 將控制項加入至工作表。 , 捲動資料庫記錄。 (3).步驟1:建立新的專案 , 建立名為 exp21-1 的 Excel 活頁簿專案 (4).步驟2:下載資料庫、建立新的專案 下載資料庫『』到目錄內,Bin\DebugNorthwind.accdb 使用右邊的資料來源視窗,將具型別資料集加入到專案。, [] 如果看不到 [資料來源] 視窗,請按一下 [資料] 功能表上的 [顯示資料來源] 如果無法使用 [顯示資料來源],請在 Excel 活頁簿內按一下,然後再檢查 一次。 按一下加入新資料來源,啟動資料來源組態精靈。, [] [] 選取資料庫,再按一下下一步。, [] [] 選取與資料庫的資料連接,或使用新增連接按鈕加入, Access [] 新的連接。 在選取或建立連接後,請按下一步。, [] 如果已經選取,請清除儲存連接的選項,然後按一下下一步。, [] 在資料庫物件視窗中,展開資料表節點。, [] [] 選取資料表旁的核取方塊。, [] 按一下完成。, [] 精靈會將資料表加入至資料來源視窗。也會將具型別,[] [] 資料集加入至方案總管中可以看得到的專案。 [] (5).步驟3:將控制項加入至工作表 現在要在第一個工作表上,製作『兩個已命名的範圍和四個按鈕』。, 首先,將先從資料來源視窗加入兩個已命名的範圍,使它們自, [] 動繫結至資料來源。 接著,再從工具箱加入按鈕。, [] (6).步驟3-1:加入兩個已命名的範圍 確認已經在設計工具中開啟活頁,exp21-1.xls Visual Studio [] 簿,並顯示。Sheet1 [] 開啟資料來源視窗,然後展開節點。,[] [] 選取資料行,然後按一下顯示的下拉箭號。, [] 在下拉式清單中,選取,,NamedRange [] , 然後將資料行拖曳至儲存格。,A1 [] [] 儲存格中會建立一個名為的,A1NamedRange [] 控制項。companyNameNamedRange 同時,會將名為的customersBindingSource, 、資料表配接器,以及執行個體加入BindingSource DataSet 至專案。控制項繫結至,繼而又繫結至 BindingSource DataSet 執行個體。 在資料來源視窗中選取資料行,然後按一下顯示, [] [] 的下拉箭號。 , 在下拉式清單中,按一下,然後將, [NamedRange] [] 資料行拖曳至儲存格。 [B1] 另一個名為的控customerIDNamedRange, NamedRange 制項會建立在儲存格中,並繫結至。 [B1] BindingSource (7).步驟3-2:加入四個按鈕 從工具箱的通用控制項索引標籤,將控制項加入,Button [] [] 至工作表的儲存格。A3 [] 這個按鈕的名稱為。, Button1 依照此順序將另外三個按鈕加入至下列儲存格,使名稱如下所示:, () B3 Button2 C3 Button3 D3 Button4 (8).步驟3:設定按鈕文字、並初始化控制項 以下,要先『設定按鈕文字,並在事件期間加入事件處理, Startup 常式』。 首先,在方案總管中,在或上按一下, [] [Sheet1.vb] [Sheet1.cs] 滑鼠右鍵,再按快速鍵功能表上的檢視程式碼。 [] , 將下列程式碼加入至方法,以設定每個按鈕的文, Sheet1_Startup 字。(為設定起始值的副程式) Sheet1_Startup ,Visual Basic.NET Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup With Me .Button1.Text = "|<" .Button2.Text = "<" .Button3.Text = ">" .Button4.Text = ">|" End With End Sub 或是, C# this.button1.Text = "|<"; this.button2.Text = "<"; this.button3.Text = ">"; this.button4.Text = ">|"; 若是使用,請將按鈕事件的事件處理常式加入至, C# Click 方法中Sheet1_Startup this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click); this.button3.Click += new EventHandler(button3_Click); this.button4.Click += new EventHandler(button4_Click); (9).步驟4:加入程式碼以啟用捲動資料錄的功能 將程式碼加入至每個按鈕的事件處理常式,以便在資料錄,Click 中移動。 (10).步驟4-1:若要移至第一個記錄 為按鈕的事件加入事件處理常式,然後加入下,Click Button1 列程式碼,以移至第一個記錄: ,Visual Basic.NET Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.客戶BindingSource.MoveFirst() End Sub 或是, C# private void button1_Click(object sender, System.EventArgs e) { this.customersBindingSource.MoveFirst(); } (11).步驟4-2:若要移至上一個記錄 為按鈕的事件加入事件處理常式,然後加入下,Click Button2 列程式碼,以後退一個記錄位置: ,Visual Basic.NET Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.客戶BindingSource.MoveNext() End Sub 或是, C# private void button2_Click(object sender, System.EventArg s e) { this.customersBindingSource.MovePrevious(); } (12).步驟4-3:若要移至下一個記錄 為按鈕的事件加入事件處理常式,然後加入下Button3, Click 列程式碼,以前進一個記錄的位置: ,Visual Basic.NET Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.客戶BindingSource.MoveNext() End Sub 或是, C# private void button3_Click(object sender, System.EventArg s e) { this.customersBindingSource.MoveNext(); } (13).步驟4-4:若要移至最後一個記錄 為按鈕的事件加入事件處理常式,然後加入下Button4, Click 列程式碼,以移至最後一個記錄: ,Visual Basic.NET Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.客戶BindingSource.MoveLast() End Sub 或是, C# private void button4_Click(object sender, System.EventArg s e) { this.customersBindingSource.MoveLast(); } (14).步驟5:測試應用程式 按執行專案。, F5 確認第一個記錄出現在和儲存格中。, [A1] [B1] 按一下按鈕,並確認下一個記錄出現在和,>A1 [] (Button3) [] 儲存格中。B1[] 按一下其他捲動按鈕,以確認記錄如預期變更。, Excel(1).練習目標: , 在這個步驟中,您將會建立一個 Excel 應用程式專案,並可 執行『文件層級專案中的複雜資料繫結』 , 示範使用文件層級專案進行複雜資料繫結的基本概念。 , 可以將 Microsoft Office Excel 工作表中的多個儲存格,繫結 至 Access 的Northwind資料庫中的欄位 (2).工作項目:這個逐步解說將說明下列工作: , 建立 Excel 專案的資料來源。 , 將控制項加入至工作表。 , 捲動資料庫記錄。 (3).步驟1:建立新的專案 , 建立名為 exp21-2 的 Excel 活頁簿專案 (4).步驟2:下載資料庫、建立新的專案 下載資料庫『』到目錄內,Bin\DebugNorthwind.accdb 使用右邊的資料來源視窗,將具型別資料集加入到專案。, [] 如果看不到 [資料來源] 視窗,請按一下 [資料] 功能表上的 [顯示資料來源] 如果無法使用 [顯示資料來源],請在 Excel 活頁簿內按一下,然後再檢查一次。 按一下加入新資料來源,啟動資料來源組態精靈。, [] [] 選取資料庫,再按一下下一步。, [] [] 選取與資料庫的資料連接,或使用新增連接按鈕加入, Access [] 新的連接。 在選取或建立連接後,請按下一步。, [] 如果已經選取,請清除儲存連接的選項,然後按一下下一步。, [] 在資料庫物件視窗中,展開資料表節點。, [] [] 選取資料表旁的核取方塊。, [] 按一下完成。, [] 精靈會將資料表加入至資料來源視窗。也會將具型別,[] [] 資料集加入至方案總管中可以看得到的專案。 [] (5).步驟3:將控制項加入至工作表 現在要在第一個工作表上,製作『兩個已命名的範圍和四個按鈕』。, 首先,將先從資料來源視窗加入兩個已命名的範圍,使它們自, [] 動繫結至資料來源。 接著,再從工具箱加入按鈕。, [] (6).步驟3-1:加入兩個已命名的範圍 確認已經在設計工具中開啟活頁,exp21-1.xls Visual Studio [] 簿,並顯示。Sheet1 [] 開啟資料來源視窗,然後選取節點下的。, [] [][] 按一下顯示的下拉箭號。, 選取下拉式清單中的。, [] ListObject , 將資料表拖曳至儲存格。, [] [A6] , 儲存格中會建立一個名為EmployeesListObject的[A6] 控制項。同時,會將名為EmployeesBindingSource的ListObject 、資料表配接器,以及執行個體BindingSource (Adapter) DataSet 加入至專案。控制項繫結至,繼而又繫結至 BindingSource DataSet 執行個體。 (7).步驟3-2:加入四個按鈕 從工具箱的通用控制項索引標籤,將控制項加, [] [] Button 入至工作表的儲存格 [A4] (8).步驟3:設定按鈕文字、並初始化控制項 在方案總管中,在或上按一下滑鼠右, [] [Sheet1.vb] [Sheet1.cs] 鍵,再按快速鍵功能表上的檢視程式碼。 [] 將下列程式碼加入至方法,以設定的文, Sheet1_Startup button 字。 , 將下列程式碼加入至方法,以設定每個按鈕的文, Sheet1_Startup 字。(為設定起始值的副程式) Sheet1_Startup ,Visual Basic.NET Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup Me.Button1.Text = "Save" End Sub 或是, C# this.button1.Text = "Save"; 若是使用,請將按鈕事件的事件處理常式加入至, C# Click 方法中Sheet1_Startup this.button1.Click += new EventHandler(button1_Click); (9).步驟4:加入程式碼以將變更儲存至資料庫 將對資料所做的任何變更明確存回資料庫之前,這些變更都只存在, 本機資料集中。 (10).步驟4-1:將變更儲存至資料庫 為的事件加入事件處理常式,然後加入下列程式utton, b Click 碼,認可對資料集所做的所有變更儲存到資料庫中: ,Visual Basic.NET Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Me.員工TableAdapter.Update(Me.NorthwindDataSet.員工) Catch ex As System.Data.DataException MessageBox.Show(ex.Message) End Try End Sub 或是, C# private void button1_Click(object sender, System.EventArg s e) { try { this.employeesTableAdapter.Update(this.northwindDataS et.Employees); } catch (System.Data.DataException ex) { MessageBox.Show(ex.Message); } } (11).步驟5:測試應用程式 按執行專案。, F5 (12).步驟5-1:測試 資料繫結 請按。, F5 確認當活頁簿開啟時,清單物件中會填入來自資料表的資, [] 料。 (13).步驟5-2:測試 修改資料 按一下儲存格,此儲存格應該包含的名稱。,B7Davolio [] [] 輸入的名稱,然後按。,Anderson ENTER 然後去打開資料庫的資料表,, AccessNorthwind.accdb[] 觀察是否修改後的資料已經儲存 (14).步驟5-3:測試 修改資料行行首 按一下包含資料行行首的儲存格。,LastName [] 輸入,在兩個字中間包含一個空格,然後按。,Last Name ENTER (15).步驟5-4:測試 儲存資料 在工作表上按一下儲存。, [] 結束。當系統提示您儲存所做的變更時,請按一下否。, Excel [] 按,再次執行專案。, F5 清單物件中便會填入來自資料表的資料。, [] 請注意,儲存格中的名稱仍為,也就是您所進行,B7Anderson [] 並儲存到資料庫的資料變更。資料行行首則已變更回LastName [] 沒有空格的原始格式,因為資料行行首並未繫結至資料庫,而且您 也沒有儲存對工作表所做的變更。 (16).步驟5-5:測試 加入新資料列 在清單物件內選取儲存格。, 新資料列會出現在清單底部,而且新資料列的第一個儲存格中會出, 現星號。* () 在空白資料列中加入下列資訊。, EmployeeID LastName FirstName Title 10 Ito Shu Sales Manager (17).步驟5-6:測試 刪除資料列 以滑鼠右鍵按一下工作表最左邊的數字第列,然後, [16] ( 16 ) 按一下刪除。 [] (18).步驟5-7:測試 對清單中的資料列進行排序 在清單內選取儲存格。, 每個資料行行首中都會顯示箭號按鈕。, 按一下資料行行首中的箭號按鈕。,Last Name [] 按一下遞增排序。, [] 會按照姓氏的字母順序排列資料列。, (19).步驟5-8:測試 篩選資訊 在清單內選取儲存格。 , 按一下資料行行首中的箭號按鈕。,Title [] 按一下。,Sales Representative [] 清單中只會顯示資料行中具有的,TitleSales Representative [] [] 資料列。 再按一下資料行行首中的箭號按鈕。,Title [] 按一下全部。,() [] 會移除篩選並顯示所有資料列。, (1).練習目標: , 練習在Excel工作表儲存格中顯示字串的4種方法 , 若要在儲存格中顯示文字, (1).可使用 NamedRange 控制項。 (2).或原生 Excel 範圍物件 (2).步驟1:建立新的專案 , 建立名為 exp21-3 的 Excel 活頁簿專案 (3).方法(1):使用『為範圍命名』NamedRange 控制項 這個方法會使用名為的控制項。這個控制項, Input1 NamedRange (4).步驟D-1:制訂『為範圍命名』(NamedRange) 設定的儲存格命名為,Sheet1 [A1]Input1 必頇是在設計階段加入至文件層級自訂。 方法:可在儲存格,按滑鼠右鍵,選擇『』,1 [A1] 然後命名為:, Input1 方法:點選儲存格後,直接在上方『命名區』直接輸入命名,2 [A1] 然後命名為:, Input1 (5).步驟D-2:用程式碼控制『為範圍命名』(NamedRange) 下列程式碼必頇放在工作表類別中,而不是, ThisWorkbook sheet1 類別中。若要在控制項中顯示文字,將 NamedRange 控制項的值設為。NamedRange Hello 1……… Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As 方案總管?先點選?然後滑鼠右鍵?檢視程式碼, sheet1.vb System.EventArgs) Handles Me.Startup ,Visual Basic.NET '======== 方法1 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 在Sheet1已經手動建立新範圍,然後寫程式來分派值 Me.Input1.Value2 = "Hello 1.........." '======== 為什麼使用Value2 '======== 上述範例會使用該範圍控制項的 Value2 屬性 (而不使用 Value 屬性) ,此 可避免一定要傳入參數。 '======== Value :一定要有給值 '======== Value2 :可以沒有給值 End Sub 或是, C# private void Sheet1_Startup (object sender, System.EventArgs e) { this. Input1.Value2 = " Hello 1.........."; } '上述範例會使用該範圍控制項的 Value2 屬性 (而不使用 Value 屬性) ,此可避免一定要傳入參數。 'Value :一定要有給值 'Value2 :可以沒有給值 (6).方法(2):使用『原生 Excel 範圍』 這個方法會以程式碼設計方式建立『新範圍』,然後為其分派值。, 步驟: 先在範圍物件中顯示文字,在的儲存格上擷, Excel Sheet1 [A1] 取範圍,然後將值設為。 Hello 2…………. , 下列程式碼必頇放在工作表類別中,而不是, ThisWorkbook sheet1 類別中。若要在控制項中顯示文字,將 NamedRange 控制項的值設為。NamedRange Hello 2……… 方案總管?先點選?然後滑鼠右鍵?檢視程式碼, sheet1.vb ,Visual Basic.NET Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup '======== 方法1 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 在Sheet1已經手動建立新範圍,然後寫程式來分派值 Me.Input1.Value2 = "Hello 1.........." '======== 方法2 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 以程式設計方式來先建立新範圍,然後為其分派值 '======== 透過應用程式層級增益集將值傳遞至儲存格 '======== 建立表示 Sheet1 之 [A3] 儲存格的 Microsoft.Office.Interop.Excel..::.Range,並指派字串值給 Value2 屬性。 Dim rng As Excel.Range = Globals.Sheet1.Range("A3") rng.Value2 = "Hello 2.................." End Sub 或是, C# private void Sheet1_Startup (object sender, System.EventArgs e) { Excel.Range rng = Globals.Sheet1.Range["A3", missing]; rng.Value2 = " Hello 2.................."; } (7).方法(3):『透過文件層級自訂將值傳遞至儲存格』 在的儲存格上建立控制項,並指派字, Sheet1 A1 NamedRange 串值給屬性。 Value2 將下列程式碼放入類別中。, Sheet1 , 方案總管?先點選?然後滑鼠右鍵?檢視程式碼, sheet1.vb ,Visual Basic.NET Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup '======== 方法1 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 在Sheet1已經手動建立新範圍,然後寫程式來分派值 Me.Input1.Value2 = "Hello 1.........." '======== 方法2 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 以程式設計方式來先建立新範圍,然後為其分派值 '======== 透過應用程式層級增益集將值傳遞至儲存格 '======== 建立表示 Sheet1 之 [A3] 儲存格的 Microsoft.Office.Interop.Excel..::.Range,並指派字串值給 Value2 屬性。 Dim rng As Excel.Range = Globals.Sheet1.Range("A3") rng.Value2 = "Hello 2.................." '======== 方法3 :寫在工作表類別sheet1中,而不是 ThisWorkbook 類別中 '======== 以程式設計方式來先建立新範圍,然後為其分派值 '======== 透過文件層級自訂將值傳遞至儲存格 '======== 在 Sheet1 的 A5 儲存格上建立 NamedRange 控制項,並指派字串值給 Value2 屬性。將下列程式碼放入 Sheet1 類別中。 Dim nr As Microsoft.Office.Tools.Excel.NamedRange = Me.Controls.AddNamedRange(Me.Range("A5"), "NamedRange1") nr.Value2 = "Hello 3..............." End Sub 或是, C# private void Sheet1_Startup (object sender, System.EventArgs e) { Microsoft.Office.Tools.Excel.NamedRange nr = this.Controls.AddNamedRange(this.Range["A5", missing], "NamedRange1"); nr.Value2 = " Hello 3..............."; } (8).方法(4):『透過應用程式層級增益集將值傳遞至儲存格』 建立表示之儲存格的, Sheet1 [A1] ,並指派字串值給屬Microsoft.Office.Interop.Excel..::.Range Value2 性。 , 方案總管?先點選?然後滑鼠右鍵?檢視程式,ThisWorkbook.vb 碼 開啟『』副程式, ThisWorkbook_Open() ,Visual Basic.NET Private Sub ThisWorkbook_Open() Handles Me.Open '======== 方法4 :寫在ThisWorkbook 裡面 =============== '======== 以程式設計方式來先建立新範圍,然後為其分派值 Dim rng As Excel.Range = Me.Application.Range("C1") rng.Value2 = "Hello 4..........." End Sub 或是, C# private void Sheet1_Startup (object sender, System.EventArgs e) { Excel.Range rng = this.Application.get_Range("C1", missing); rng.Value2 = " Hello 4..........."; } (9).步驟5:測試應用程式 按執行專案。, F5 (1).練習目標: , 在這個步驟中,示範如何從 Microsoft Office Excel 2007 工作 表開啟 Windows Form,從使用者收集資訊並且將這些資訊 寫入工作表的儲存格中。 (2).步驟1:建立新的專案 , 建立名為 exp21-4 的 Excel 活頁簿專案 (3).步驟3:將(命名範圍) NamedRange 控制項加入至工作 表 若要將已命名的範圍加入至, Sheet1 在中選取儲存格。, Sheet1 [A1] 在名稱方塊中,輸入。, [] Input1 名稱方塊位於資料編輯列的左邊,就在工作表欄的上面。[] A 注意:輸入後,一定要按鍵,否則無法登入, Input1 ENTER , 注意:此時,儲存格中會加入控制項。選取,NamedRange A1 [A1] 儲存格時,工作表上不會出現任何可見的提示,但是 [Input1] 會顯示在名稱方塊中工作表上方左邊的位置和屬性 [] () [] 視窗中。 (4).步驟4:將 Windows Form 加入專案 建立一個用來提示使用者輸入資訊。, (1). Windows Form 先在在方案總管中選取專案。, [] [exp21-4] 在專案功能表上,按一下加入。, [] [ Windows Form] 將表單命名為或,然後按一下加入。, Form1.vb Form1.cs [] 這個新表單就會在設計工具中開啟。, 將和加入至表單。,TextBoxButton 選取這個按鈕,在屬性視窗中找出屬性,然後將文字變, [] Text 更為。 OK 接著,將程式碼加入至或, ThisWorkbook.vb ,收集使用者的資訊。ThisWorkbook.cs (5).步驟5:顯示 Windows Form 並且收集資訊 顯示表單並且收集資訊, (1). 在方案總管中的或, [] [ThisWorkbook.vb] 上按一下滑鼠右鍵,然後選取檢[ThisWorkbook.cs] [ 。] 在的事件處理常式中,加入下列程式,Open ThisWorkbook 碼,宣告表單的變數,並顯示表單: GetInputString ,Visual Basic.NET Private Sub ThisWorkbook_Open() Handles Me.Open Dim inputForm As New Form1 inputForm.Show() End Sub 或是, C# private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.Open += new Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(T hisWorkbook_Open); } private void ThisWorkbook_Open() { GetInputString inputForm = new GetInputString(); inputForm.Show(); } (6).步驟6:建立名為 WriteStringToCell 的方法 建立名為的方法,用來將文字寫入已命名, WriteStringToCell 的範圍。 這個方法是從表單呼叫,然後將使用者的輸入傳遞到儲存格, A1 上的控制項:。 NamedRange Input1 注意:首先,在方案總管中,在或, [] [ThisWorkbook.vb] 上按一下滑鼠右鍵,再按快速鍵功能表上的檢[ThisWorkbook.cs] [ 視程式碼。] ,Visual Basic.NET Public Class ThisWorkbook Private Sub ThisWorkbook_Open() Handles Me.Open Dim inputForm As New Form1 inputForm.Show() End Sub Public Sub (ByVal formData As String) Globals.Sheet1.Input1.Value2 = formData End Sub End Class 或是, C# public void WriteStringToCell(string formData) { Globals.Sheet1.formInput.Value2 = formData; } 接著,將程式碼加入至表單,處理按鈕的事件。, Click (7).步驟7:傳送資訊到工作表 在方案總管中的上按一下滑鼠右鍵,然後選取檢視, [] [] [Form1 表設計工具。] 按兩下這個按鈕,開啟已經加入按鈕事件處理常式的程式, Click 碼檔案。 將程式碼加入至事件處理常式,以便從文字方塊取得輸入、將輸入, Public Class Form1 傳送至函式,然後關閉表單。 WriteStringToCell Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As ,Visual Basic.NET System.EventArgs) Handles Button1.Click Globals.ThisWorkbook.WriteStringToCell(Me.TextBox1.Text) Me.Dispose() End Sub End Class 或是, C# Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text); this.Dispose(); (8).步驟5:測試應用程式 按執行專案。, F5 確認第一個記錄出現在和儲存格中。, [A1] [B1] 按一下按鈕,並確認下一個記錄出現在和,>A1 [] (Button3) [] 儲存格中。B1[] 按一下其他捲動按鈕,以確認記錄如預期變更。,
本文档为【用NET的VSTO产出Office档案(Excel)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_337177
暂无简介~
格式:doc
大小:648KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-10-07
浏览量:17