Quote Originally Posted by Frosty
5. Now, to your main question: the reason you're getting the wrong result is because that's exactly what you've told it to do. Remember, ranges are live addresses to something which is already in the document. So when you do the following:
rngScrap.select
rngScrap.Cut
... what is left of rngScrap?

The same thing that is left when you select 3 paragraphs and cut them... an insertion point. So when you later do this:
rngDocNew.FormattedText = rngScrap.Formatted text

You've forgotten all about the stuff you had in your clipboard.

rngDocNew.Paste would work.
Well, DOH, I removed the .Cut, then, I ran the program. When it finished I looked in a file that should have 2 Activities and, lo and behold, it has both activities.

The only problem left is that it (output file) has an extra Paragraph mark (symbol) at the end of the file. This suggests to me that after Finding the ^m and settng my range, I need to remove it. Then, when I add a 2nd activity to a file, I need logic to insert (prepend) a ^M to that second activity so there is a forced page break between the Activities instead of having one after every activity. Does that make sense?

I'll look at cleaning up the code, removing debug code and .Selects.

You're right, I probably do not need both ActivityStart and ActivityEnd but rather just one of them, ActivityEnd, so I can walk through the source file in an orderly manner.

I'm passing a null (""") in initially in my Open_File sub and it will return a value that I'll use elsewhere, that's why a sub and not a function. I suppose for simplicity I could use a named variable which begins its life with no value and let it gain a value after the sub is run the first time.

Let me look at some of your other suggestions and questions, I'll write a more complete response and post a file will all my code so you can see the whole mess.

Thanks, again.