Member 12569572 Ответов: 1

Как скопировать часть документа Word с использованием взаимодействия


Мне нужно идентифицировать часть документа word с помощью ключа, а затем скопировать ее в другой документ word. как я могу достичь этого через C#.net.

я попробовал следующее это результат как текст мне это нужно как документ
и абзац должен быть я идентифицирован с ключевым словом

Что я уже пробовал:

public string ReadFileContent(string path, int paraGraphNum)
        {
            int i = 0;

            StringBuilder sb = new StringBuilder();

            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();

            object file = path;

            object nullobj = System.Reflection.Missing.Value;

            Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open
                                                    (ref file, ref nullobj, ref nullobj,
                                                    ref nullobj, ref nullobj, ref nullobj,
                                                    ref nullobj, ref nullobj, ref nullobj,
                                                    ref nullobj, ref nullobj, ref nullobj);


            Microsoft.Office.Interop.Word.Paragraphs DocPar = doc.Paragraphs;

            // Count number of paragraphs in the file
            long parCount = DocPar.Count;
           
            // Step through the paragraphs
            while (i < parCount)
            {
                i++;
                if (i == paraGraphNum)
                {
                    sb.Append(DocPar[i].Range.Text);
                    break;
                }
            }

            doc.Close(ref nullobj, ref nullobj, ref nullobj);
            wordApp.Quit(ref nullobj, ref nullobj, ref nullobj);
            return (sb.ToString());
        }
    }

Richard MacCutchan

Вы только копируете текст в StringBuilder, поэтому любая информация о шрифте или макете теряется. Вам нужно захватить все метаданные, которые управляют тем, как текст должен быть отформатирован.