Como: Adicionar marcas inteligentes a pastas de trabalho do Excel
Se aplica a |
---|
As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office. Projetos de nível de documento
Projetos de nível de aplicativo
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
Você pode adicionar marcas inteligentes a livros do Microsoft Office Excel reconhecer texto e dá ao usuário Acessar a ações relacionadas com os termos reconhecidos.O código que você Gravar para criar e configurar um inteligente marca é o mesmo para projetos de nível de documento e o nível de aplicativo, mas existem algumas diferenças na forma que você associar uma marca inteligente pastas de trabalho.As marcas inteligentes também têm escopo diferente em projetos do nível de documento e o nível de aplicativo.
Este tópico descreve as seguintes tarefas:
Adicionar marcas inteligentes em personalizações em nível de documento
Adicionar marcas inteligentes em suplementos de nível de aplicativo
Para executar uma marca inteligente, os usuários finais devem ter marcas inteligentes Habilitado no Word ou Excel.For more information, see Como: Habilitar marcas inteligentes no Word e Excel.
Adicionar marcas inteligentes em personalizações de nível de documento
Quando você Adicionar uma marca inteligente usando uma personalização de nível de documento, a marca inteligente é reconhecida somente na pasta de trabalho está associada com a personalização.
Para adicionar uma marca inteligente usando uma personalização de nível de documento
Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:
Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.
Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.
For more information, see Arquitetura de marcas inteligentes.
Adicionar o SmartTag à propriedade VstoSmartTags de classe ThisWorkbook.
O exemplo de código a seguir cria uma marca inteligente que reconhece a palavra sale e a expressão regular [I|i]ssue\s\d{5,6}.Quando o usuário digita de venda ou uma Cadeia de Caracteres que corresponde à expressão regular (como problema 12345) e clica na marca inteligente, ele exibe o local de célula do texto reconhecido.Para executar esse código, Adicionar o código para a classe ThisWorkbook e o método AddSmartTag chamada do ThisWorkbook_Startup manipulador de eventos.
WithEvents displayAddress As Microsoft.Office.Tools.Excel.Action
Private Sub AddSmartTag()
Dim smartTagDemo As New _
Microsoft.Office.Tools.Excel.SmartTag( _
"www.microsoft.com/Demo#DemoSmartTag", _
"Demonstration Smart Tag")
' Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale")
smartTagDemo.Expressions.Add( _
New System.Text.RegularExpressions.Regex( _
"[I|i]ssue\s\d{5,6}"))
' Create the action.
displayAddress = New Microsoft.Office.Tools.Excel.Action( _
"To be replaced")
' Add the action to the smart tag.
smartTagDemo.Actions = New Microsoft.Office.Tools.Excel.Action() { _
displayAddress}
' Add the smart tag.
Me.VstoSmartTags.Add(smartTagDemo)
End Sub
Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.BeforeCaptionShow
Dim clickedAction As Microsoft.Office.Tools.Excel.Action = _
TryCast(sender, Microsoft.Office.Tools.Excel.Action)
If clickedAction IsNot Nothing Then
clickedAction.Caption = "Display the address of " & e.Text
End If
End Sub
Private Sub DisplayAddress_Click(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.Click
Dim smartTagAddress As String = e.Range.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("The recognized text '" & e.Text & _
"' is at range " & smartTagAddress)
End Sub
private Microsoft.Office.Tools.Excel.Action displayAddress;
private void AddSmartTag()
{
Microsoft.Office.Tools.Excel.SmartTag smartTagDemo =
new Microsoft.Office.Tools.Excel.SmartTag(
"www.microsoft.com/Demo#DemoSmartTag",
"Demonstration Smart Tag");
// Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale");
smartTagDemo.Expressions.Add(
new System.Text.RegularExpressions.Regex(
@"[I|i]ssue\s\d{5,6}"));
// Create the action.
displayAddress = new Microsoft.Office.Tools.Excel.Action(
"To be replaced");
// Add the action to the smart tag.
smartTagDemo.Actions = new Microsoft.Office.Tools.Excel.Action[] {
displayAddress };
// Add the smart tag.
this.VstoSmartTags.Add(smartTagDemo);
displayAddress.BeforeCaptionShow += new
Microsoft.Office.Tools.Excel.BeforeCaptionShowEventHandler(
DisplayAddress_BeforeCaptionShow);
displayAddress.Click += new
Microsoft.Office.Tools.Excel.ActionClickEventHandler(
DisplayAddress_Click);
}
void DisplayAddress_BeforeCaptionShow(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
Microsoft.Office.Tools.Excel.Action clickedAction =
sender as Microsoft.Office.Tools.Excel.Action;
if (clickedAction != null)
{
clickedAction.Caption = "Display the address of " +
e.Text;
}
}
void DisplayAddress_Click(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
string smartTagAddress = e.Range.get_Address(missing,
missing, Excel.XlReferenceStyle.xlA1, missing, missing);
System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
"' is at range " + smartTagAddress);
}
Adicionar marcas inteligentes em suplementos de nível de aplicativo
Iniciando no SP1, você pode adicionar uma marca inteligente usando um suplemento do nível de aplicativo.Você pode especificar se deseja fazer a marca inteligente trabalhar apenas em uma pasta de trabalho específica, ou em todos os Abrir pastas de trabalho.Marcas inteligentes que são executados em todos os Abrir pastas de trabalho são chamadas marca inteligente de nível de aplicativo s.
Para adicionar uma marca inteligente a uma pasta de trabalho específica
Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:
Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.
Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.
For more information, see Arquitetura de marcas inteligentes.
Use o método de GetVstoObject para criar um item de host Workbook da pasta de trabalho que deseja hospedar a marca inteligente.Para obter mais informações sobre como criar itens de host, consulte Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.
Observação: Se você estiver usando um projeto que você criou antes Você instalar Ed SP1, você deve modificar o projeto antes de poder usar o Método GetVstoObject.For more information, see Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.
Adicionar o SmartTag à propriedade VstoSmartTags do Workbook.
O exemplo de código a seguir cria uma marca inteligente que reconhece a palavra sale e a expressão regular [I|i]ssue\s\d{5,6}.Quando o usuário digita de venda ou uma Cadeia de Caracteres que corresponde à expressão regular (como problema 12345) e clica na marca inteligente, ele exibe o local de célula do texto reconhecido.Para executar esse código, Adicionar o código para a classe ThisAddIn e o método AddSmartTagToActiveWorkbook chamada do ThisAddIn_Startup manipulador de eventos.
WithEvents displayAddress As Microsoft.Office.Tools.Excel.Action
Private Sub AddSmartTagToActiveWorkbook()
Dim smartTagDemo As New _
Microsoft.Office.Tools.Excel.SmartTag( _
"www.microsoft.com/Demo#DemoSmartTag", _
"Demonstration Smart Tag")
' Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale")
smartTagDemo.Expressions.Add( _
New System.Text.RegularExpressions.Regex( _
"[I|i]ssue\s\d{5,6}"))
' Create the action.
displayAddress = New Microsoft.Office.Tools.Excel.Action( _
"To be replaced")
' Add the action to the smart tag.
smartTagDemo.Actions = New Microsoft.Office.Tools.Excel.Action() { _
displayAddress}
' Add the smart tag to the active workbook.
Dim vstoWorkbook As Microsoft.Office.Tools.Excel.Workbook = _
Me.Application.ActiveWorkbook.GetVstoObject()
vstoWorkbook.VstoSmartTags.Add(smartTagDemo)
End Sub
Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.BeforeCaptionShow
Dim clickedAction As Microsoft.Office.Tools.Excel.Action = _
TryCast(sender, Microsoft.Office.Tools.Excel.Action)
If clickedAction IsNot Nothing Then
clickedAction.Caption = "Display the address of " & e.Text
End If
End Sub
Private Sub DisplayAddress_Click(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.Click
Dim smartTagAddress As String = e.Range.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("The recognized text '" & e.Text & _
"' is at range " & smartTagAddress)
End Sub
private Microsoft.Office.Tools.Excel.Action displayAddress;
private void AddSmartTagToActiveWorkbook()
{
Microsoft.Office.Tools.Excel.SmartTag smartTagDemo =
new Microsoft.Office.Tools.Excel.SmartTag(
"www.microsoft.com/Demo#DemoSmartTag",
"Demonstration Smart Tag");
// Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale");
smartTagDemo.Expressions.Add(
new System.Text.RegularExpressions.Regex(
@"[I|i]ssue\s\d{5,6}"));
// Create the action.
displayAddress = new Microsoft.Office.Tools.Excel.Action(
"To be replaced");
// Add the action to the smart tag.
smartTagDemo.Actions = new
Microsoft.Office.Tools.Excel.Action[] { displayAddress };
// Add the smart tag to the active workbook.
Microsoft.Office.Tools.Excel.Workbook vstoWorkbook =
this.Application.ActiveWorkbook.GetVstoObject();
vstoWorkbook.VstoSmartTags.Add(smartTagDemo);
displayAddress.BeforeCaptionShow += new
Microsoft.Office.Tools.Excel.BeforeCaptionShowEventHandler(
DisplayAddress_BeforeCaptionShow);
displayAddress.Click += new
Microsoft.Office.Tools.Excel.ActionClickEventHandler(
DisplayAddress_Click);
}
void DisplayAddress_BeforeCaptionShow(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
Microsoft.Office.Tools.Excel.Action clickedAction =
sender as Microsoft.Office.Tools.Excel.Action;
if (clickedAction != null)
{
clickedAction.Caption = "Display the address of " +
e.Text;
}
}
void DisplayAddress_Click(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
string smartTagAddress = e.Range.get_Address(missing,
missing, Excel.XlReferenceStyle.xlA1, missing, missing);
System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
"' is at range " + smartTagAddress);
}
Para adicionar uma marca inteligente que funciona em Tudo as Abrir pastas de trabalho
Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:
Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.
Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.
For more information, see Arquitetura de marcas inteligentes.
Adicionar o SmartTag à propriedade VstoSmartTags de classe ThisAddIn.
Observação: Se você estiver usando um projeto que você criou antes Você instalar Ed SP1, você deve modificar o projeto para gerar o Propriedade VstoSmartTags.For more information, see Como: Adicionar marcas inteligentes do nível de aplicativo a projetos que foram criados antes do SP1.
O exemplo de código a seguir cria uma marca inteligente que reconhece a palavra sale e a expressão regular [I|i]ssue\s\d{5,6}.Quando o usuário digita de venda ou uma Cadeia de Caracteres que corresponde à expressão regular (como problema 12345) e clica na marca inteligente, ele exibe o local de célula do texto reconhecido.Para executar esse código, Adicionar o código para a classe ThisAddIn e o método AddSmartTag chamada do ThisAddIn_Startup manipulador de eventos.
WithEvents displayAddress As Microsoft.Office.Tools.Excel.Action
Private Sub AddSmartTag()
Dim smartTagDemo As New _
Microsoft.Office.Tools.Excel.SmartTag( _
"www.microsoft.com/Demo#DemoSmartTag", _
"Demonstration Smart Tag")
' Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale")
smartTagDemo.Expressions.Add( _
New System.Text.RegularExpressions.Regex( _
"[I|i]ssue\s\d{5,6}"))
' Create the action.
displayAddress = New Microsoft.Office.Tools.Excel.Action( _
"To be replaced")
' Add the action to the smart tag.
smartTagDemo.Actions = New Microsoft.Office.Tools.Excel.Action() { _
displayAddress}
' Add the smart tag.
Me.VstoSmartTags.Add(smartTagDemo)
End Sub
Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.BeforeCaptionShow
Dim clickedAction As Microsoft.Office.Tools.Excel.Action = _
TryCast(sender, Microsoft.Office.Tools.Excel.Action)
If clickedAction IsNot Nothing Then
clickedAction.Caption = "Display the address of " & e.Text
End If
End Sub
Private Sub DisplayAddress_Click(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ActionEventArgs) _
Handles DisplayAddress.Click
Dim smartTagAddress As String = e.Range.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("The recognized text '" & e.Text & _
"' is at range " & smartTagAddress)
End Sub
private Microsoft.Office.Tools.Excel.Action displayAddress;
private void AddSmartTag()
{
Microsoft.Office.Tools.Excel.SmartTag smartTagDemo =
new Microsoft.Office.Tools.Excel.SmartTag(
"www.microsoft.com/Demo#DemoSmartTag",
"Demonstration Smart Tag");
// Specify a term and an expression to recognize.
smartTagDemo.Terms.Add("sale");
smartTagDemo.Expressions.Add(
new System.Text.RegularExpressions.Regex(
@"[I|i]ssue\s\d{5,6}"));
// Create the action.
displayAddress = new Microsoft.Office.Tools.Excel.Action(
"To be replaced");
// Add the action to the smart tag.
smartTagDemo.Actions = new Microsoft.Office.Tools.Excel.Action[] {
displayAddress };
// Add the smart tag.
this.VstoSmartTags.Add(smartTagDemo);
displayAddress.BeforeCaptionShow += new
Microsoft.Office.Tools.Excel.BeforeCaptionShowEventHandler(
DisplayAddress_BeforeCaptionShow);
displayAddress.Click += new
Microsoft.Office.Tools.Excel.ActionClickEventHandler(
DisplayAddress_Click);
}
void DisplayAddress_BeforeCaptionShow(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
Microsoft.Office.Tools.Excel.Action clickedAction =
sender as Microsoft.Office.Tools.Excel.Action;
if (clickedAction != null)
{
clickedAction.Caption = "Display the address of " +
e.Text;
}
}
void DisplayAddress_Click(object sender,
Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
string smartTagAddress = e.Range.get_Address(missing,
missing, Excel.XlReferenceStyle.xlA1, missing, missing);
System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
"' is at range " + smartTagAddress);
}
Segurança
Você deve ativar as marcas inteligentes no Excel.Por padrão, eles não estão Habilitados.For more information, see Como: Habilitar marcas inteligentes no Word e Excel.
Consulte também
Tarefas
Como: Habilitar marcas inteligentes no Word e Excel
Como: Adicionar marcas inteligentes a documentos do Word
Como: Adicionar marcas inteligentes do nível de aplicativo a projetos que foram criados antes do SP1
Como: Criar marcas inteligentes com identificadores de Personalizar no Word
Como: Criar marcas inteligentes com identificadores Personalizars no Excel
Demonstra Passo a passo: Criando uma marca inteligente com uma personalização em nível de documento
Demonstra Passo a passo: Criando uma marca inteligente com um nível de aplicativo Adicionar - no
Conceitos
Visão geral sobre marcas inteligentes
Arquitetura de marcas inteligentes
Arquitetura de marcas inteligentes
Desenvolvendo soluções do Office
Date |
History |
Motivo |
---|---|---|
De 2008 de julho |
Adicionado novos procedimentos para suplementos de nível de aplicativo. |
Alteração de recurso do SP1. |