True. Indeed. And they can be combined in multiple scenarios. OK, technically using "splitting hairs" was not quite correct, if you consider the differences between what we posted to be truly significant. And I suppose they are.
I think a good take away for anyone reading the thread is that most of the possible bases are covered.
You want flexibility in what is being replaced via an input, use the InputBox for .Text (and Replacement.Text).
You want flexibility in where to get the documents via an input, use the GetFolder function.
You want a simple replacement, use a simple Replace.
You want all headers (or by extension footers) processed, my example demonstrates this.
Between us pretty much all possibilities have been demonstrated, as they can be mixed and matched any way you want.