Programowe podmienianie wyrazow w dokumentach Word

0

Witam.
Zwracam się do Was z kilkoma pytaniami. Chciałbym napisać program który ma za zadanie przeszukanie całego dokumentu w celu znalezieniu poszczególnych wyrazów i podmienieniu ich na wyrazy z bazy danych.
Znalazłem taki o to przykład na stronie microsoftu taki kod który przechodzi przez kilka pętli:

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

Tutaj metoda która wyszukuje i zastępuje tekst w dokumentach:

private void SearchReplace()
{
    Word.Find findObject = Application.Selection.Find;
    findObject.ClearFormatting();
    findObject.Text = "find me";
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = "Found";

    object replaceAll = Word.WdReplace.wdReplaceAll;
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}

mam rozumieć że każdy

ref missing 

to wyraz który ma być szukany? Jak mogę przerobić ten kod tak, żeby pobierał dane do podstawienia z bazy? oraz jak uruchomić te funkcja na rzecz wczytanego dokumentu tekstowego?

0
Eryk17 napisał(a):

mam rozumieć że każdy

ref missing 

to wyraz który ma być szukany? Jak mogę przerobić ten kod tak, żeby pobierał dane do podstawienia z bazy? oraz jak uruchomić te funkcja na rzecz wczytanego dokumentu tekstowego?

To nie są wyrazy, które mają być wyszukane.
Dokumentacja dla Find.Execute: https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.find.execute?view=word-pia

Te wszystkie ref missing można określić jako ustawienia wyszukiwania.

Składnia Microsoft.Office.Interop.Word.Find.Execute:

public bool Execute (ref object FindText, ref object MatchCase, ref object MatchWholeWord, ref object MatchWildcards, ref object MatchSoundsLike, ref object MatchAllWordForms, ref object Forward, ref object Wrap, ref object Format, ref object ReplaceWith, ref object Replace, ref object MatchKashida, ref object MatchDiacritics, ref object MatchAlefHamza, ref object MatchControl);

VX Blog | Asembler - Pisma zebrane | YT

1 użytkowników online, w tym zalogowanych: 0, gości: 1