Следующий фрагмент кода иллюстрирует, как это можно сделать.Обратите внимание, что.для ясности упрощено задание только текста, который будет найден - существует множество дополнительных свойств, которые, возможно, потребуется указать;Подробнее о функциональности Find
см. в справочнике по языку Word.
Если найден поисковый термин, Range
, связанный с Find
, изменит найденный термин, и могут быть предприняты дальнейшие действия.В этом случае новый (пустой) абзац вставляется после найденного термина.(Этот вопрос указывает на то, что этот термин является всем содержимым абзаца, поэтому в этом примере предполагается!) Затем Range
перемещается в этот новый абзац и вставляется InlineShape
.
Обратите внимание, как рисунок назначается объекту InlineShape
.Если с этим объектом нужно что-то сделать, работайте с переменной объекта ils
.
Word.Application ap = new Word.Application();
Word.Document document = ap.Documents.Open(@"C:\Users\ermcnnj\Desktop\Doc1.docx");
Word.Range rng = document.Content;
Word.Find wdFind = rng.Find;
wdFind.Text = "apple";
bool found = wdFind.Execute();
if (found)
{
rng.InsertAfter("\n");
rng.MoveStart(Word.WdUnits.wdParagraph, 1);
Word.InlineShape ils = rng.InlineShapes.AddPicture(@"C:\Test\avatar.jpg", false, true, rng);
}