共用方式為


以程式設計方式在文件中找到的項目之間執行迴圈

Find 類別有一個 Found 屬性,只要找到要搜尋的項目,屬性就會回傳 true。 您可以使用 Range 方法在 Execute 中找到的所有執行個體間執行迴圈。

適用對象:本主題資訊適用於文件層級的專案和 Word 的 VSTO 增益集專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

在找到的項目之間執行迴圈

  1. 宣告 Range 物件。

    下列程式碼範例可用於文件層級自訂。

    Word.Range rng = this.Content;
    

    下列程式碼範例可用於 VSTO 增益集。 本範例使用現用文件。

    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. 在迴圈中使用 Found 屬性來搜尋該文件中所有相符字串,每當找到字串,就將整數變數遞增 1。

    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);
    }
    
  3. 顯示在訊息方塊中找不到字串的次數。

    MessageBox.Show("Strings found: " + intFound.ToString());
    

    下列範例示範完整的方法:

文件層級自訂範例

在文件層級自訂的項目間執行迴圈

  1. 下列範例顯示文件層級自訂的完整程式碼。 若要使用此程式碼,請從專案的 ThisDocument 類別中執行它。

    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()); 
    }
    

VSTO 增益集範例

在 VSTO 增益集的項目間執行迴圈

  1. 下列範例顯示 VSTO 增益集的完整程式碼。 若要使用此程式碼,請從專案的 ThisAddIn 類別中執行它。

    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());
    }