Action インターフェイス

Visual Studio の Office 開発ツールを使用してカスタマイズされた Word 文書内のスマート タグ アクションを表します。

名前空間:  Microsoft.Office.Tools.Word
アセンブリ:  Microsoft.Office.Tools.Word (Microsoft.Office.Tools.Word.dll 内)

構文

'宣言
<GuidAttribute("1886a0c6-4e1a-4b8f-8304-5143462fe2b6")> _
Public Interface Action _
    Inherits ActionBase
[GuidAttribute("1886a0c6-4e1a-4b8f-8304-5143462fe2b6")]
public interface Action : ActionBase

Action 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ Caption スマート タグ メニューに表示される、アクションの名前を取得または設定します。 (ActionBase から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント BeforeCaptionShow ユーザーがスマート タグ アイコンをクリックしてからスマート タグ メニューが表示されるまでの間に発生します。
パブリック イベント Click スマート タグ メニューでアクションをクリックした場合に発生します。

このページのトップへ

解説

アクションとは、特定の種類のスマート タグが認識された場合に、スマート タグ ショートカット メニューで使用できる選択肢のことです。 アクションを作成するには、Globals.Factory.CreateAction メソッドを使用して Action オブジェクトを作成します。 詳細については、「スマート タグのアーキテクチャ」を参照してください。

注意

これは、Visual Studio Tools for Office ランタイムによって実装されたインターフェイスです。 コードに実装されるものではありません。 詳細については、「Visual Studio Tools for Office Runtime の概要」を参照してください。

使用方法

この型は、Word 2007 のプロジェクトでのみ使用されることを目的としています。 Word 2010 でのスマート タグの使用は推奨されていません。 詳細については、「スマート タグの概要」を参照してください。

ここでは、.NET Framework 4 を対象とする Office プロジェクトで使用される型のバージョンについて説明します。.NET Framework 3.5 を対象とするプロジェクトでは、この型のメンバーが異なること、およびこのコード例が動作しないことがあります。 .NET Framework 3.5 を対象とするプロジェクトの型の詳細については、Visual Studio 2008 ドキュメントの参照セクション https://go.microsoft.com/fwlink/?LinkId=160658 を参照してください。

アクションが設定されたスマート タグの作成方法のコード例を次に示します。 このスマート タグ アクションは、実行時にこのアクションのメニュー キャプションを変更し、認識したテキストの場所を表示します。

Private WithEvents displayAddress As Microsoft.Office.Tools.Word.Action

Private Sub AddSmartTag()

    ' Create the smart tag for .NET Framework 4 projects.
    Dim smartTagDemo As Microsoft.Office.Tools.Word.SmartTag = Globals.Factory.CreateSmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag")

    ' For .NET Framework 3.5 projects, use the following code to create the smart tag.
    ' Dim smartTagDemo As New  _
    '     Microsoft.Office.Tools.Word.SmartTag( _
    '     "www.microsoft.com/Demo#DemoSmartTag", _
    '     "Demonstration Smart Tag")

    ' Specify the terms to recognize.
    smartTagDemo.Terms.Add("term")
    smartTagDemo.Terms.Add("recognize")

    ' Create the action for .NET Framework 4 projects.
    displayAddress = Globals.Factory.CreateAction("To be replaced")

    ' For .NET Framework 3.5 projects, use the following code to create the action.
    ' displayAddress = New Microsoft.Office.Tools.Word.Action("To be replaced")

    ' Add the action to the smart tag.
    smartTagDemo.Actions = New Microsoft.Office.Tools.Word.Action() { _
            displayAddress}

    ' Add the smart tag.
    Me.VstoSmartTags.Add(smartTagDemo)
End Sub

Private Sub DisplayAddress_BeforeCaptionShow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles displayAddress.BeforeCaptionShow

    Dim clickedAction As Microsoft.Office.Tools.Word.Action = _
        TryCast(sender, Microsoft.Office.Tools.Word.Action)

    If clickedAction IsNot Nothing Then
        clickedAction.Caption = "Display the location of " & e.Text
    End If
End Sub

Private Sub DisplayAddress_Click(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles displayAddress.Click

    Dim termStart As Integer = e.Range.Start
    Dim termEnd As Integer = e.Range.End
    MsgBox("The recognized text '" & e.Text & _
            "' begins at position " & termStart & _
            " and ends at position " & termEnd)
End Sub
private Microsoft.Office.Tools.Word.Action displayAddress;

private void AddSmartTag()
{
    // Create the smart tag for .NET Framework 4 projects.
    Microsoft.Office.Tools.Word.SmartTag smartTagDemo =
        Globals.Factory.CreateSmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag");

    // For .NET Framework 3.5 projects, use the following code to create the smart tag.
    // Microsoft.Office.Tools.Word.SmartTag smartTagDemo =
        // new Microsoft.Office.Tools.Word.SmartTag(
        //     "www.microsoft.com/Demo#DemoSmartTag",
        //     "Demonstration Smart Tag");

    // Specify the terms to recognize.
    smartTagDemo.Terms.Add("term");
    smartTagDemo.Terms.Add("recognize");

    // Create the action for .NET Framework 4 projects.
    displayAddress = Globals.Factory.CreateAction("To be replaced"); 

    // For .NET Framework 3.5 projects, use the following code to create the action.
    // displayAddress = new Microsoft.Office.Tools.Word.Action("To be replaced");

    // Add the action to the smart tag.
    smartTagDemo.Actions = new Microsoft.Office.Tools.Word.Action[] { 
        displayAddress };

    // Add the smart tag.
    this.VstoSmartTags.Add(smartTagDemo);

    displayAddress.BeforeCaptionShow += new
        Microsoft.Office.Tools.Word.BeforeCaptionShowEventHandler(
        displayAddress_BeforeCaptionShow);

    displayAddress.Click += new
        Microsoft.Office.Tools.Word.ActionClickEventHandler(
        displayAddress_Click);
}

void displayAddress_BeforeCaptionShow(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    Microsoft.Office.Tools.Word.Action clickedAction =
        sender as Microsoft.Office.Tools.Word.Action;

    if (clickedAction != null)
    {
        clickedAction.Caption = "Display the location of " +
            e.Text;
    }
}

void displayAddress_Click(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    int termStart = e.Range.Start;
    int termEnd = e.Range.End;
    System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
        "' begins at position " + termStart.ToString() +
        " and ends at position " + termEnd.ToString());
}

参照

参照

Microsoft.Office.Tools.Word 名前空間

SmartTag

その他の技術情報

スマート タグのアーキテクチャ

方法 : Word 文書にスマート タグを追加する

方法: Word および .NET Framework 3.5 でカスタム レコグナイザーを持つスマート タグを作成する

チュートリアル : ドキュメント レベルのカスタマイズを使用したスマート タグの作成