存取Moss網站時,瀏覽器只是其中一個常用的Client,另一個功能強大的前端程式其實是Officr,如:Word、Excel、Outlook等等,而Office軟體這個前端應用程式搭配Moss Server才是真正的完整整合,因為一般使用者使用Office時,並不需要另外做訓練,就可以駕輕就熟的使用Office來建立Moss網站,或是上傳文件資料,或是下載資料等等
然而,有時候當使用者使用這些Office時,假設有一些特殊需求無法達成,而必須特過客製化程式來達到目的時,那麼開發VSTO整合Moss就變成一個重要的議題了,在這裡亞當斯要介紹如何透過VSTO的應用程式來把Moss整合到應用程式中。
以下為開發的幾個主要簡易步驟,提供給各位參考:
1. 先執行Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System(CH).exe (網址為:http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&displaylang=en),安裝之後,VS2005就可以建立開發VSTO的專案範本。
2. 新增一個「Excel增益集」專案,叫做「ExcelAddIn」
3. 在專案按右鍵選擇加入參考,將Microsoft.SharePoint.dll加入參考
4. 在「ExcelAddIn」專案按右鍵-->加入-->新增項目,選擇「使用者控制項」,並且命名為MOSSUserControl.cs
5. 在MOSSUserControl中設計畫面如下:
6. MOSSUserControl.cs中先匯入主要的命名空間:
using Microsoft.SharePoint;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
7. 在buttonContact的click事件中撰寫程式,針對指定的MOSS網站取出其聯絡人清單中的資料
private void buttonContact_Click(object sender, EventArgs e)
{
//取得MOSS網站中的聯絡人清單資料
SPWeb web = new SPSite(textBoxUrl.Text).OpenWeb();
SPList list = (SPList)web.Lists["MOSS聯絡人"];
foreach (SPListItem item in list.Items)
{
listBoxContact.Items.Add(item.DisplayName);
}
}
8. 在buttonExcel的click事件中撰寫程式,將取得的聯絡人資料設定給Excel所選取的範圍(Range),程式碼如下
private void buttonExcel_Click(object sender, EventArgs e)
{
Excel.Range RangeSelection = (Excel.Range)Globals.ThisAddIn.Application.Selection;
RangeSelection.Value2 = listBoxContact.SelectedItem.ToString();
}
9. 打開ThisAddIn專案下Excel資料夾中的ThisAddIn.cs檔,在ThisAddIn_Startup事件程序中,將使用者控制項透過CustomTaskPanes屬性加入Excel中。
MOSSUserControl myControl;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
… …
myControl = new MOSSUserControl();
this.CustomTaskPanes.Add(myControl, "Adams InsertData").Visible = true;
}
10. 建置完成,按下F5執行測試。
沒有留言:
張貼留言