Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
See more: C# Word
I want to replace text parts of Sentences. my approach is
Iterate on Sentences , since I use like this Document.Sentences.Count;
then I replace then in two way.
if Sentences is only includes text, I replace whole Sentences as below
Range rng = Sentences[i].Range(Start,End);
rng.Text = str ;
if Sentences includes pictures, OLE object and ActiveX so on.
I extract the pure text part and apply above code to replace it.and the start and end position of text part is correct, I checked it.
problem is that when I replacing parts of Sentences it throw "Cannot delete Range " exception.
how can I do this if I want replace text part of Sentences which includes both text and picture?
Posted 23-Mar-11 0:19am
Apfelmuuus at 24-Mar-11 6:01am
I can't figure out what is the problem because I do not know how you want to replace "parts of Sentences"
One possible problem can be found at msdn:
"Note Range objects are independent of the selection. That is, you can define and manipulate a range without changing the selection.[...]"MSDN

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

I recommend you use Spire.Doc[^]
Without MS Office installing.
Here is a sample code:
//Create word document
Document document = new Document();
//load a document
//Replace text
document.Replace("word", "excel",true,true);

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Maciej Los 495
1 Sergey Alexandrovich Kryukov 424
2 OriginalGriff 360
3 Abhinav S 250
4 CHill60 240
0 Sergey Alexandrovich Kryukov 10,102
1 OriginalGriff 9,495
2 Peter Leow 5,241
3 Kornfeld Eliyahu Peter 3,373
4 Maciej Los 3,076

Advertise | Privacy | Mobile
Web04 | 2.8.150327.1 | Last Updated 8 Aug 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100