मैं शब्द इंटरऑप का उपयोग करके शब्द फ़ाइलों को संपादित कर रहा हूँ। कभी-कभी इन फ़ाइलों में "*" गुणक होते हैं जिन्हें मुझे प्रोग्रामेटिक रूप से बदलना पड़ता है। इसलिए, यदि दो तारक हैं तो मैं उन्हें नहीं से बदल दूंगा। 2. किसी तरह मैं "*" नहीं ढूंढ पा रहा हूं।

 Word.Range rngAff = doc.Content;    
 rngAff.Find.ClearFormatting();
 rngAff.Find.Font.Superscript = 1;
 rngAff.Find.Text = @"\*{1,}";
 while (rngAff.Find.Execute())
            {
              rngAff.Find.Replacement.Text = this.CountReplaceAsterisks()
            }

किसी भी तरह निष्पादित आदेश सफल नहीं है। मैं वर्ड फ़ाइल में तारांकन कैसे ढूंढूं?

1
user1181942 7 अप्रैल 2020, 11:41

1 उत्तर

सबसे बढ़िया उत्तर

जब मुझे किसी शब्द फ़ाइल में कुछ वर्ण बदलने की आवश्यकता होती है, तो मैं कोड के उस टुकड़े का उपयोग कर रहा हूं, और मेरे पास एक अच्छा परिणाम है:

class Program
{

  static void Main(string[] args)
  {
    SearchReplace();
  }


  private static void SearchReplace()
  {
    object missing = System.Reflection.Missing.Value;

    Application application = new Application();
    Microsoft.Office.Interop.Word.Document document = application.Documents.Add("C:\\Users\\test\\Desktop\\word.docx");

    Microsoft.Office.Interop.Word.Find findObject = application.Selection.Find;
    findObject.ClearFormatting();
    findObject.Text = "**";
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = "";

    object replaceAll = Microsoft.Office.Interop.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);

    object filename = "C:\\savefile.docx";
    document.SaveAs2(ref filename);;

    document.Close(ref missing, ref missing, ref missing);
    document = null;
    application.Quit(ref missing, ref missing, ref missing);
    application = null;
  }

}
1
Frenchy 18 अप्रैल 2020, 15:34