BUG: Outlook corrupts Textboxes

Summary:  Outlook replaces TEXTbox with Graphic on Send

Attachment: Outlook_bug.png

Traceability: MS-UI-190429  (Win 10 / Outlook ver 16.0.10325.20118)

  • IMPACT:  
    1. Lost time for sender and all recipients
    2. Breaks Requirement UI-CU-DB-190429 usability be usable  after sending/receiving
    3. Work around - time consuming and undocumented
  • Steps to reproduce:
    1. In Outlook, create an email in HTM format  containing a TextBox
      (Highlight TEXT then Alt-N-X-H or mouse "Tab: Insert | Textbox")
    2. SEND and receive the email
    3. Open the received  email: (or open from the SENT subfolder)
    4. Attempt to highlight, copy, paste the textbox CONTENTs to another application or file
  • Problem[s]: The object has been changed from TEXT to a NON-editable IMAGE
  • Frequency / Reproducibility:    100%
  • Workaround:
    1. Forward or Reply to open Outlook's native EDITOR
    2. Right click on the broken Textbox graphic
    3. Choose "Format Autoshape"
    4. Click top right TAB "Alt Text"
    5. Copy / Recover the text: There may be a limit that truncates it.
  • Expected Behavior:
    1. Any change in data or accessibility should generate a useful error and/or an error log entry

How to TRIM() cr/lf?

What about TRIM() for removing white space from strings!
Although it is a really handy BUG-ELIMINATOR for *IF* ever a user pastes rich text into your (MS-Access) application, STILL this attachment demonstrates that TRIM only works on outer spaces, not other white space characters like ASCII characters 9, 10, 12, 13. (vbTab, vbLf, Formfeed, vbCr)

' Save this in a VBS file on your desktop for a VISUAL DEMO comparing three string cleaning functions below
Dim someOtherString, someOtherString1, someOtherString2, someOtherString3
someOtherString1 = vbCrLf & vbTab & "Hi Mom!" & int(rnd(100)*5) & vbTab & vbCrLf
someOtherString2 = vbCrLf & vbTab & "Hi Mom!" & int(rnd(100)*5) & vbTab & vbCrLf
someOtherString3 = vbCrLf & vbTab & "Hi Mom!" & int(rnd(100)*5) & vbTab & vbCrLf
msgbox chr(34) & trim(someOtherString1) & chr(34),,"Trim"
msgbox chr(34) & nibble(someOtherString2) & chr(34),,"Nibble"
msgbox chr(34) & chomp(someOtherString3) & chr(34),,"Chomp"
' --------------------
Function chomp(somestring)
if len(somestring) >= 1 then
while (asc(right(somestring,1)) <= 13 )
somestring = left(somestring, len(somestring)-1)
end if
chomp = somestring
End Function
' --------------------
Function nibble(somestring)
if len(somestring) >= 1 then
while (asc(left(somestring,1)) <= 13 )
somestring = right(somestring, len(somestring)-1)
end if
nibble = somestring
End Function

See https://excel-on-demand.com/2017/01/25/vbcommon-chomp-nibble/