Copying the script from those old posts has a lot of errors due to the site running strings together.
This version should work correctly when copied/pasted. I modified it slightly to tell word to Quit when done and removed the return which wasn't necessary.
If you don't want Word to quit, remove the "Quit" near the end of the script.
property theList : {"doc", "docx"}
on run {input, parameters}
tell application "Microsoft Word" to set theOldDefaultPath to get default file path file path type documents path
repeat with x in input
try
set theDoc to contents of x
tell application "Finder"
set theFilePath to container of theDoc as text
set ext to name extension of theDoc
if ext is in theList then
set theName to name of theDoc
copy length of theName to l
copy length of ext to exl
set n to l - exl - 1
copy characters 1 through n of theName as string to theFilename
set theFilename to theFilename & ".pdf"
tell application "Microsoft Word"
set default file path file path type documents path path theFilePath
open theDoc
set theActiveDoc to the active document
save as theActiveDoc file format format PDF file name theFilename
copy (POSIX path of (theFilePath & theFilename as string)) to end of output
closetheActiveDoc
end tell
end if
end tell
end try
end repeat
tell application "Microsoft Word"
set default file path file path type documents path path theOldDefaultPath
quit
end tell
end run
The entire script here replaces everything in the Run AppleScript Action in Automator.
I used an Application so I could drop files onto the App.
Might be best to add a Filter Finder Items to the top of the workflow to filter for docx and doc file types.