ISmartTagExtension Interfaccia
TOC
Comprimi il sommario
Espandi il sommario
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Interfaccia ISmartTagExtension

 

Rappresenta un'estensione di uno smart tag in un foglio di lavoro di Excel personalizzato tramite gli Strumenti di sviluppo di Microsoft Office per Visual Studio.L'estensione definisce un sistema di riconoscimento personalizzato per lo smart tag.

Spazio dei nomi:   Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

[GuidAttribute("baa275c5-e25c-49ba-87be-dbe0712f7eb1")]
public interface ISmartTagExtension : IExtension

NomeDescrizione
System_CAPS_pubpropertyExtensionBase

Ottiene l'oggetto che viene esteso da questo oggetto IExtension.(Ereditato da IExtension.)

NomeDescrizione
System_CAPS_pubmethodRecognize(String, ISmartTagRecognizerSite, ISmartTagTokenList, SmartTagRecognizeContext)

Cerca nel testo della cella i termini riconosciuti.

Questo tipo o membro deve essere usato solo nei progetti per Microsoft Office System 2007. Gli smart tag sono deprecati in Office 2010.

.

Implementare l'interfaccia ISmartTagExtension per controllare come Excel riconosce smart tag nei fogli di lavoro.

Questo tipo deve essere utilizzato solo nei progetti per Excel 2007.Gli smart tag sono deprecati in Excel 2010.

Nell'esempio di codice seguente viene illustrato come implementare ISmartTagExtension per creare un sistema di riconoscimento degli smart tag personalizzato.L'esempio implementa il metodo Recognize per riconoscere tutti i termini smart tag ubicati in una cella.Nell'esempio si presuppone che sia stato aggiunto un riferimento a Microsoft.Office.Interop.SmartTag dalla scheda .NET della finestra di dialogo Aggiungi riferimento.

using System;
using System.Windows.Forms;
using Microsoft.Office.Interop.SmartTag;
using Microsoft.Office.Tools.Excel;

namespace Trin_ExcelDerivedSmartTags4
{
    class CustomSmartTag : ISmartTagExtension
    {
        // Declare the smart tag.
        Microsoft.Office.Tools.Excel.SmartTag smartTagDemo;

        // Declare actions for this smart tag.
        private Microsoft.Office.Tools.Excel.Action Action1;
        private Microsoft.Office.Tools.Excel.Action Action2;

        public CustomSmartTag()
        {
            this.smartTagDemo = Globals.Factory.CreateSmartTag(
                "http://www.contoso.com/Demo#DemoSmartTag", "Custom Smart Tag", this);

            Action1 = Globals.Factory.CreateAction("Display property value");
            Action2 = Globals.Factory.CreateAction("Display smart tag details");

            smartTagDemo.Terms.AddRange(new string[] { "sales", "organization" });
            smartTagDemo.Actions = new Microsoft.Office.Tools.Excel.Action[] { 
                Action1, Action2 };

            Action1.Click += new ActionClickEventHandler(Action1_Click);
            Action2.Click += new ActionClickEventHandler(Action2_Click);
        }

        void ISmartTagExtension.Recognize(string text, ISmartTagRecognizerSite site, 
            ISmartTagTokenList tokenList, SmartTagRecognizeContext context)
        {

            // Determine whether each smart tag term exists in the document text.
            foreach (string term in smartTagDemo.Terms)
            {
                // Search the cell text for the first instance of the current smart tag term.
                int index = context.CellText.IndexOf(term, 0);

                if (index >= 0)
                {
                    // Create a smart tag token and a property bag for the recognized term.
                    ISmartTagProperties propertyBag = site.GetNewPropertyBag();

                    // Write a new property value.                 
                    string key = "Key1";
                    propertyBag.Write(key, DateTime.Now.ToString());

                    // Attach the smart tag to the term in the document
                    context.PersistTag(propertyBag);

                    // This implementation only finds the first instance of a 
                    // smart tag term in the cell. 
                    break;
                }
            }
        }

        // This action displays the property value for the term.
        private void Action1_Click(object sender,
            Microsoft.Office.Tools.Excel.ActionEventArgs e)
        {
            ISmartTagProperties propertyBag = e.Properties;
            string key = "Key1";
            MessageBox.Show("The corresponding value of " + key +
                " is: " + propertyBag.get_Read(key));
        }

        // This action displays smart tag details.
        private void Action2_Click(object sender,
            Microsoft.Office.Tools.Excel.ActionEventArgs e)
        {
            MessageBox.Show("The current smart tag caption is '" +
                smartTagDemo.Caption + "'. The current smart tag type is '" +
                smartTagDemo.SmartTagType + "'.");
        }

        public Microsoft.Office.Tools.Excel.SmartTag Base
        {
            get { return smartTagDemo; }
        }

        public object ExtensionBase
        {
            get { return smartTagDemo; }
        }
    }
Torna all'inizio
Mostra:
© 2016 Microsoft