If I try to step through the code, the macro seems to alternate infinitely between lines 4 and 5.
this is correct, it has to do that for each character you want to remove, put a breakpoint on the line after next, then click the run, to step through all of those and stop after

if for some reason the first paragraph of the word document is left empty
vb Code:
  1. if len(myvar) < 3 then myvar = thisdocument.paragraphs(2)
change length to whatever you think could be to short to be valid

can I just reuse:
that should work in most cases