Como: Loop através de itens localizados em documentos
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. Tipo de Projeto
Versão do Microsoft Office
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
A classe Find tem uma propriedade de Found , que retorna true sempre que um item-procurado é encontrado.Você pode fazer loop através de Tudo as instâncias encontradas em um Range usando o Execute méTudo.
Para fazer o loop nos itens encontrados
Declare um objeto Range.
O exemplo de código a seguir pode ser usado em uma personalização de nível de documento.
Dim rng As Word.Range = Me.Content
Word.Range rng = this.Content;
O exemplo de código a seguir pode ser usado em um nível de aplicativo Adicionar - in.Este exemplo usa o documento ativo.
Dim rng As Word.Range = Me.Application.ActiveDocument.Content
Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content;
Use a propriedade Found em um loop parPesquisarrr por Tudo as ocorrências da Cadeia de Caracteres no documento e incrementar uma variável de inteiro por 1 sempre que a Cadeia de Caracteres for encontrada.
rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop
rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); }
Exibir o número de vezes que a cadeia de caracteres foi encontrada em uma caixa de mensagem.
MessageBox.Show("Strings found: " & intFound.ToString())
MessageBox.Show("Strings found: " + intFound.ToString());
Os exemplos a seguir mostram Concluir método.
Exemplo de personalização de nível de documento
Para Loop nos itens de uma personalização de nível de documento
O exemplo a seguir mostra o códigConcluir para uma personalização de nível de documento.Para usar esse código, execute-de a classe ThisDocument no seu projeto.
Private Sub FindLoop() Dim intFound As Integer = 0 Dim rng As Word.Range = Me.Content rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop MessageBox.Show("Strings found: " & intFound.ToString()) End Sub
private void FindLoop() { int intFound = 0; Word.Range rng = this.Content; rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); } MessageBox.Show("Strings found: " + intFound.ToString()); }
Nível de aplicativo Adicionar - exemplo
Para repetir itens em um nível de aplicativo Adicionar - in
O exemplo a seguir mostra o códigConcluir para um aplicativo-nível Adicionar - in.Para usar esse código, execute-de a classe ThisAddIn no seu projeto.
Private Sub FindLoop() Dim intFound As Integer = 0 Dim rng As Word.Range = Me.Application.ActiveDocument.Content rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop MessageBox.Show("Strings found: " & intFound.ToString()) End Sub
private void FindLoop() { int intFound = 0; Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content; rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); } MessageBox.Show("Strings found: " + intFound.ToString()); }
Consulte também
Tarefas
Como: Pesquisar para texto em documentos
Como: Definir opções de Pesquisarr no Word
Como: Definir e selecionar intervalos em documentos
Como: Restaurar seleções após pesquisas
Conceitos
Noções básicas sobre parâmetros opcionais in Office Solutions