#DEFINE msoTrue -1 #DEFINE msoFalse 0 oTextRange = oApplication.ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange lnCharacters = oTextRange.Characters.Count llBold = .F. llItalic = .F. llBold = .F. lcHTML = "" FOR lnChar = 1 TO lnCharacters oChar = oTextRange.Characters(lnChar) llCurrentCharIsBold = (oChar.Font.Bold = msoTrue) llCurrentCharIsItalic = (oChar.Font.Italic = msoTrue) llCurrentCharIsUnderline = (oChar.Font.Underline = msoTrue) IF !llBold AND llCurrentCharIsBold lcHTML = lcHTML + "<B>" ENDIF IF !llItalic AND llCurrentCharIsItalic lcHTML = lcHTML + "<I>" ENDIF IF !llUnderline AND llCurrentCharIsUnderline lcHTML = lcHTML + "<U>" ENDIF *-- check for end tags in reverse order IF llUnderline AND !llCurrentCharIsUnderline lcHTML = lcHTML + "</U>" ENDIF IF llItalic AND !llCurrentCharIsItalic lcHTML = lcHTML + "</I>" ENDIF IF llBold AND !llCurrentCharIsBold lcHTML = lcHTML + "</B>" ENDIF *-- Insert character into HTML lcHTML = lcHTML + oChar.Text ENDFOR *-- end any tags left open IF llUnderline lcHTML = lcHTML + "</U>" ENDIF IF !llItalic lcHTML = lcHTML + "</I>" ENDIF IF !llBold lcHTML = lcHTML + "</B>" ENDIFRick