O
Oksana
Подскажите, пожалуйста, как пройти поле письма Body строчка за строчкой, чтобы разложить значения из строк в нужные поля.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
да вот не получаетсяИспользовать класс NotesRichTextNavigator.
был перерыв в программировании, сейчас торможу жуткоМожет тогда проще будет воспользоваться
plainText$ = notesRichTextItem.GetUnformattedText( )
и разбирать строку?
Set rtitem = CurDoc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
plainText = rtitem.GetFormattedText( True, 150 )
End If
lines = Fulltrim(Split(plainText, ","))
Set MailBody = New NotesRichTextItem( CurDoc, "Body" )
Forall l In lines
Call MailBody.AppendText(l)
Call MailBody.AddNewLine(1)
End Forall
Call CurDoc.Save(True, False)
Насколько я помню, 13 — возврат каретки (CR), 10 — перевод строки (LF), 9 — табуляция (TAB). В Windows строки завершаются парой символов CRLF, в никсах, кмк, LF, но могу ошибаться.З.Ы. Новая строка, кстати, не всегда символ 13. Иногда оно еще работает только вместе с 9(перевод каретки или как оно там).
Set rtitem = CurDoc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
plainText = rtitem.GetUnFormattedText()
End If
Dim findArr(1) As String
Dim replArr(1) As String
Dim resArr As Variant
findArr(0) = ","
findArr(1) = Chr(13)
replArr(0) = Chr(10)
replArr(1) = ""
resArr = Split(Replace(plainText, findArr, replArr), Chr(10))
Насколько я помню, 13 — возврат каретки (CR), 10 — перевод строки (LF), 9 — табуляция (TAB). В Windows строки завершаются парой символов CRLF, в никсах, кмк, LF, но могу ошибаться.
А если так?
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"код"</div></div><div class="sp-body"><div class="sp-content">Код:Set rtitem = CurDoc.GetFirstItem( "Body" ) If ( rtitem.Type = RICHTEXT ) Then plainText = rtitem.GetFormattedText( True, 150 ) End If lines = Fulltrim(Split(plainText, ",")) Set MailBody = New NotesRichTextItem( CurDoc, "Body" ) Forall l In lines Call MailBody.AppendText(l) Call MailBody.AddNewLine(1) End Forall Call CurDoc.Save(True, False)
З.Ы. Новая строка, кстати, не всегда символ 13. Иногда оно еще работает только вместе с 9(перевод каретки или как оно там).
Насколько я помню, 13 — возврат каретки (CR), 10 — перевод строки (LF), 9 — табуляция (TAB). В Windows строки завершаются парой символов CRLF, в никсах, кмк, LF, но могу ошибаться.
Oksana
А зачем нужно Body в новом варианте, может сразу со строкой работать, например, так:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"код"</div></div><div class="sp-body"><div class="sp-content">Код:Set rtitem = CurDoc.GetFirstItem( "Body" ) If ( rtitem.Type = RICHTEXT ) Then plainText = rtitem.GetUnFormattedText() End If Dim findArr(1) As String Dim replArr(1) As String Dim resArr As Variant findArr(0) = "," findArr(1) = Chr(13) replArr(0) = Chr(10) replArr(1) = "" resArr = Split(Replace(plainText, findArr, replArr), Chr(10))
Ничего сложного, реплэйсом меняем запятые на переводы строк и убираем возвраты каретки, чтоб не мешались, затем сплитом "режем" строку на подстроки по переводам строк.вот осмыслить пока не получилось )))
Спасибо!Ничего сложного, реплэйсом меняем запятые на переводы строк и убираем возвраты каретки, чтоб не мешались, затем сплитом "режем" строку на подстроки по переводам строк.
В принципе, можно тем же реплэйсом менять "=" на ":" для упрощения последующего анализа (добавить в findArr(2) = "=", replArr(2) = ":")
Обучение наступательной кибербезопасности в игровой форме. Начать игру!