Check out my answer on this question. How does one load some variables at runtime in Photoshop Script?. If the word you are after is the only word in your document then, the variable 'str' will contain your word. Also check out my answer here: Find and replace text in multiple Photoshop files? which provides a find/replace method that doesn't rely on the messy script listener code.
At minimum add the following to the top of the code you've provided:
var file = new File( /c/folder/yourfile.txt );
file.open("r");
var str = file.read();
Then replace the line
desc3.putString( id12, "Moon" );
with
desc3.putString( id12, str );
If that doesn't work you'll need to post your updated code so I can see what you are doing wrong.