I disagree. If this were converted to regular code, it would expand to 5x its current size. You wouldn't be able to see the difference in lines or easily find an individual property due to all the boilerplate code. It's also a lot easier to add new entries, and the chance of copy/paste bugs is almost nonexistent.
The C preprocessor macro is particularly useful in cases such as these where you have massive amounts of code duplication that can be reduced via a code generator.
Now, if any changes need to be made to the implementation of the setters, you'd only need to change it in once place. Less room for error. No chance to miss one of the handlers when you update the code.