Groups | Search | Server Info | Login | Register


Groups > comp.groupware.lotus-notes.programmer > #109

Re: How do I add a new line to a text field via LotusScript?

Newsgroups comp.groupware.lotus-notes.programmer
Date 2023-05-22 11:35 -0700
References <843148392.19258.0@squark.demon.co.uk> <64b2fcaf-de02-4752-b562-b581f52a023e@googlegroups.com>
Message-ID <775f5cff-4852-4baa-bd20-1b7dcad84b0fn@googlegroups.com> (permalink)
Subject Re: How do I add a new line to a text field via LotusScript?
From Kirk Stoner <kirkstonersystemsarchitect@gmail.com>

Show all headers | View raw


On Monday, October 17, 2016 at 4:14:46 PM UTC-5, mer...@gmail.com wrote:
> On Thursday, September 19, 1996 at 1:00:00 AM UTC-6, Alastair Booker wrote: 
> > Hi,
> > 
> > I have a LotusScript macro that makes changes to a document. In amongst these 
> > changes, I wish to add a value to the start of a text field, but on a new line 
> > in that text field rather than just appended straight to what's already there. 
> >
> > I'm currently trying with this: 
> > 
> > doc.Edit_History = "Change: " + Format$(Now(),"dd/mm/yy hh:mm:ss") + Chr$(13) + 
> > Chr$(10) + doc.Edit_History(0) 
> > 
> > But... the CR and LF get replaced by strange block characters after this has 
> > been run. Also, any new lines already in the text field (placed there by 
> > @NewLine from a formula-based macro) are changed to these characters... 
> >
> > Any ideas? 
> > 
> > Thanks, 
> > 
> > - Ali 
> > 
> > (a...@squark.demon.co.uk)
> This answer comes after 10 year. Was doubtful whether to post it.. But someone else may be benefited. 
> 
> The following code will insert a line before and after insertion text. 
> 
> uidoc.InsertText Chr$(10) & insertionText & Chr$(10) 
> 
> I tried different combinations before arriving at this. 
> 
> Thank you 
> Mert
As @Alastair Booker is using the NotesDocument class (not NotesUiDocument), there are two ways to accomplish this:
1. Already stated: use of an Array but this is a bit simpler:
Dim newHistory(0) As String
newHistory(0) = "My new value to add to the end"
Call doc.ReplaceItemValue("Edit_History", ArrayAppend(doc.GetItemValue("Edit_History"), newHistory))
2. Use the NoteItem Class:
Dim item As NotesItem
Set item = doc,GetFirstItem("Edit_History")
Call item.AppendToTestList("My new value to add to the end")

Method #1 provides the ability to "PrePend" values to the top of the list by reversing the order in ArrayAppend:
Dim newHistory(0) As String
newHistory(0) = "My new value to add to the end"
Call doc.ReplaceItemValue("Edit_History", ArrayAppend(newHistory, doc.GetItemValue("Edit_History")))

Kirk

Back to comp.groupware.lotus-notes.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: How do I add a new line to a text field via LotusScript? mervint@gmail.com - 2016-10-17 14:14 -0700
  Re: How do I add a new line to a text field via LotusScript? Kirk Stoner <kirkstonersystemsarchitect@gmail.com> - 2023-05-22 11:35 -0700
    Re: How do I add a new line to a text field via LotusScript? Kirk Stoner <kirkstonersystemsarchitect@gmail.com> - 2023-05-22 11:39 -0700

csiph-web