逐步解說:使用應用程式層級增益集建立智慧標籤
更新: 2008 年 7 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
本逐步解說將示範如何建立應用程式層級的智慧標籤,您可以在每個開啟的文件中使用此智慧標籤。智慧標籤會辨識 Microsoft Office Word 2007 文件中的湯匙度量單位,並提供可將數量轉換為盎司的動作。它會在湯匙數量後面的括號中加入相等的盎司數量。
若要執行此智慧標籤,使用者必須啟用 Word 中的智慧標籤。如需詳細資訊,請參閱HOW TO:在 Word 和 Excel 中啟用智慧標籤。
此逐步解說將說明下列工作:
建立可使用規則運算式 (Regular Expression) 辨識字串的智慧標籤。
建立動作,以從智慧標籤擷取資料並修改所辨識的智慧標籤文字。
注意事項: |
---|
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置:您所擁有的 Visual Studio 版本和使用的設定決定了這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。
Microsoft Office Word 2007
根據預設會隨所列出的 Visual Studio 版本安裝 Visual Studio Tools for Office。若要查看是否已安裝,請參閱 安裝 Visual Studio Tools for Office。
建立新專案
首先,必須建立 Word 增益集專案。
若要建立新的專案
使用 Visual Basic 或 C#,建立名為我的收據智慧標籤的 Word 增益集專案。
如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案。
Visual Studio 會將我的收據智慧標籤專案加入至 [方案總管]。
設定專案
專案需要有智慧標籤 DLL 的參考,而且還需要使用規則運算式。
若要設定專案
在 [專案] 功能表上,按一下 [加入參考]。
選取 [COM] 索引標籤上的 [Microsoft Smart Tags 2.0 型別程式庫],然後按一下 [確定]。
在 [方案總管] 中,以滑鼠右鍵按一下 [ThisDocument.vb] (使用 Visual Basic 時) 或 [ThisDocument.cs] (使用 C# 時),然後按一下 [檢視程式碼]。
在檔案頂端加入下面這行程式碼。
Imports System.Text.RegularExpressions
using System.Text.RegularExpressions;
建立智慧標籤
若要讓智慧標籤能夠尋找和轉換湯匙度量單位,請將規則運算式加入至智慧標籤能夠辨識的項目清單,以及建立當使用者按一下智慧標籤時可使用的動作。
若要建立智慧標籤
以下列程式碼取代 ThisAddIn 類別中的 ThisAddIn_Startup 事件處理常式。這段程式碼會建立代表 Visual Studio Tools for Office 智慧標籤的 SmartTag,並將規則運算式加入至智慧標籤辨識的項目清單中。
WithEvents RecipeAction As Microsoft.Office.Tools.Word.Action Private Sub ThisAddIn_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup Dim SmartTagDemo As New Microsoft.Office.Tools.Word.SmartTag( _ "www.microsoft.com/Demo#DemoSmartTag", "Recipe Smart Tag") SmartTagDemo.Expressions.Add(New Regex( _ "(?'tbsNumber'[+-]?\b[0-9]+)?\s?(tbs|tablespoons|tablespoon)\b"))
private Microsoft.Office.Tools.Word.Action RecipeAction; private void ThisAddIn_Startup(object sender, System.EventArgs e) { Microsoft.Office.Tools.Word.SmartTag SmartTagDemo = new Microsoft.Office.Tools.Word.SmartTag( @"www.microsoft.com/Demo#DemoSmartTag", @"Recipe Smart Tag"); // Specify the terms to recognize. SmartTagDemo.Expressions.Add(new Regex( @"(?'tbsNumber'[+-]?\b[0-9]+)?\s?(tbs|tablespoons|tablespoon)\b"));
建立新的 Action,並將它加入至智慧標籤的 Actions 屬性中。Action 代表使用者可在智慧標籤功能表中按一下的項目。
RecipeAction = New Microsoft.Office.Tools.Word.Action("Convert to ounces") SmartTagDemo.Actions = _ New Microsoft.Office.Tools.Word.Action() {RecipeAction}
RecipeAction = new Microsoft.Office.Tools.Word.Action( @"Convert to ounces"); // Add the action to the smart tag. SmartTagDemo.Actions = new Microsoft.Office.Tools.Word.Action[] { RecipeAction };
將智慧標籤附加至 ThisAddIn 類別的 VstoSmartTags 屬性中。在 C# 中,將事件處理常式附加至動作的 Click 事件中。
Me.VstoSmartTags.Add(SmartTagDemo) End Sub
// Add the smart tag to the document. this.VstoSmartTags.Add(SmartTagDemo); RecipeAction.Click += new Microsoft.Office.Tools.Word.ActionClickEventHandler( RecipeAction_Click); }
建立動作的事件處理常式
事件處理常式會從智慧標籤之屬性包中的 tbsNumber 索引鍵擷取湯匙值。事件處理常式接著會將湯匙數量轉換為盎司,並將盎司值插入湯匙值後面的括號中。
在這個範例中,tbsNumber 索引鍵會從指定給智慧標籤的規則運算式中識別擷取的群組。如需 Visual Studio Tools for Office 智慧標籤中屬性包和規則運算式的詳細資訊,請參閱智慧標籤架構。
若要建立事件處理常式
將下列程式碼複製到 ThisAddIn 類別。
Private Sub RecipeAction_Click(ByVal sender As Object, _ ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _ Handles RecipeAction.Click Dim value As String = e.Properties.Read("tbsNumber") Dim tbsRecipeAmount As Double = System.Convert.ToDouble(value) Dim ozRecipeAmount As Double = tbsRecipeAmount * 0.5 e.Range.InsertAfter(" (" + ozRecipeAmount.ToString() + " oz)") End Sub
private void RecipeAction_Click(object sender, Microsoft.Office.Tools.Word.ActionEventArgs e) { string value = e.Properties.get_Read(@"tbsNumber"); double tbsRecipeAmount = System.Convert.ToDouble(value); double ozRecipeAmount = tbsRecipeAmount * 0.5; e.Range.InsertAfter(" (" + ozRecipeAmount.ToString() + " oz)"); }
測試應用程式
現在您可以測試文件,確認智慧標籤會將湯匙度量單位轉換成盎司。
若要測試您的活頁簿
啟用 Word 中的智慧標籤。
如需詳細資訊,請參閱HOW TO:在 Word 和 Excel 中啟用智慧標籤。
請按 F5 執行您的專案。
輸入成分數量以湯匙為度量單位的食譜。
按一下辨識字串上方出現的智慧標籤圖示,再按一下 [轉換成盎司]。
確認湯匙數量後面已插入相等的盎司數量。
請參閱
工作
概念
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
加入主題。 |
SP1 功能變更。 |