以程式設計方式在文件中找到的項目之間執行迴圈
Find 類別有一個 Found 屬性,只要找到要搜尋的項目,屬性就會回傳 true。 您可以使用 Range 方法在 Execute 中找到的所有執行個體間執行迴圈。
適用對象:本主題資訊適用於文件層級的專案和 Word 的 VSTO 增益集專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
在找到的項目之間執行迴圈
宣告 Range 物件。
下列程式碼範例可用於文件層級自訂。
下列程式碼範例可用於 VSTO 增益集。 本範例使用現用文件。
在迴圈中使用 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); }
顯示在訊息方塊中找不到字串的次數。
下列範例示範完整的方法:
文件層級自訂範例
在文件層級自訂的項目間執行迴圈
下列範例顯示文件層級自訂的完整程式碼。 若要使用此程式碼,請從專案的
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 增益集的項目間執行迴圈
下列範例顯示 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()); }