Here's a macro workaround for Word I made for myself. It's titled, Mail_No_Indent, and meant for documents with no indent and spaces between paragraphs. It opens a new document, pastes in in any text you have highlighted in the original document, then converts paragraph marks to line feeds and removes extra trailing spaces and paragraphs put in by the search/replace. It then copies the repaired file to the clipboard, ready to paste into mail, and closes the new document.
There's a second macro titled, Mail_Indent. It's meant for paragraphs with indentation. It operates the same way as the other macro except that it adds five spaces at the opening of each paragraph to replace the indentation that Mail strips off (You need at least one formatted paragraph for mail to add indent, but that places a blank line after it). =sigh=
To install the macros, copy the code I've provided into the visual basic editor, below below any macros you've created. If you have no macros now, you need to record one, to create the file to paste the code into (a single character followed by a line feed, as a macro, is plenty. Use whatever you care to for the macro name). Then, under the Tools/Macro menu, select: Open Visual Basic Editor, then replace the macro you created with what's at the bottom, here. If there is no window with code showing: on the left, select "New Macros under "modules" and it will appear.
To make the new macros more convenient to use, I added push buttons to them on the menu bar in Word 2011, (2016 doesn't support that, for which I curse them daily). To do that, right click the menu bar and select: Customize Toolbars and Menus, then drag the macros to the toolbar. Finally, right click to select properties for each button, to name them and pick an icon. With that done, it's now a matter of highlight text, push the button, and paste from the clipboard into mail. No more complex than highlight and copy, just as fast, but no more extra blank lines.
This code works for me on both 2011 and 2016, and it's actually easier to do than read about, but...you know Microsoft, so I make no guarantees.
The code:
Sub Mail_Indent()
'
' This will fix formatting to paste into email and add a 5 space indent, wirth no space between lines.
'
Selection.Copy
Documents.Add DocumentType:=wdNewBlankDocument
Selection.TypeText Text:=" "
Selection.PasteAndFormat (wdPasteDefault)
Selection.WholeStory
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
End With
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = "^l "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.EndKey Unit:=wdStory
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.WholeStory
Selection.Copy
ActiveWindow.Close savechanges:=False
End Sub
Sub Mail_No_Indent()
'
' This will fix formatting to paste into email and add no indent or added line spaces.
'
Selection.Copy
Documents.Add DocumentType:=wdNewBlankDocument
Selection.PasteAndFormat (wdPasteDefault)
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
End With
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = "^l"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.EndKey Unit:=wdStory
Selection.TypeBackspace
Selection.TypeBackspace
Selection.WholeStory
Selection.Copy
ActiveWindow.Close savechanges:=False
End Sub