I know you asked for a solution without leaving Word. But still I hope you realize that if you copy code from within Visual Studio and past it into Word, it will retain all formating (including the color scheme).
When copy-pasting from other locations, at the very minimum you will retain space and newlines information which will serve as the basis for code formating when you then apply the advise on this thread by Chrisbux, you can change the font style to a fixed width like courier, terminal, etc.
Word will not recognize differences between identifiers, keywords, operators, literals, etc. And neither there is a plugin to my knowledge that can do it. Most code samples on Word documents I've seen (and I've seen many as a software developer working for a company that documents the development process every step of the way), are simply done by using a style to place the code into a well delineated box and define a fixed-width font.