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. create and SEND an email in HTM format by Outlook containing a TextBox
      (Highlight TEXT then Alt-N-X-H or mouse "Tab: Insert | Textbox ")
    2. Receive the email: (or open from the SENT subfolder)
    3. Attempt to highlight, copy, paste the textbox CONTENTs to another application or file
  • Problem[s]:
    1. 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
    1. Behavior when opening Grid should throw no error,consistent with all other instances on this website.
    2. Data should not be lost, nor changed: Particularly Zip or Zip+4 should be accepted
    3. Any data loss or change should generate a useful error AND 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)
wend
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)
wend
end if
nibble = somestring
End Function

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