Lotusscript -> значение в Field

  • Автор темы SOFTOBZOR.ru
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SOFTOBZOR.ru

#1
Люди добрые есть код, примено такой:

Код:
Sub Click(Source As Button)
Set xml = CreateObject("Microsoft.XMLHTTP")
Call xml.open("GET", "http://www.cbr.ru/scripts/XML_daily.asp",False)
Call xml.send()

st$ = xml.responseText
st$ = Strright(st$,"<CharCode>USD")
st$ = Strright( st$, "<Value>" )
st$ = Strleft( st$, "</Value>" )

st1$ = xml.responseText
st1$ = Strright(st1$,"<CharCode>USD")
st1$ = Strright( st1$, "<Nominal>" )
st1$ = Strleft( st1$, "</Nominal>" )

Messagebox st1$ &" USD = " & st$ & " руб."

End Sub
Выдет сообщение: Messagebox st1$ &" USD = " & st$ & " руб."
Как мне из LotusScript сделать так FIELD name:= "st1$"
То есть что бы что бы при обработке выводилось не окно, а значение выводилось в поле.
 
E

Elena Nefedova

#2
Код:
Call doc.ReplaceItemValue(itemName$, Value) ' где Value - строка или массив скаляров (строк, чисел, дат)
 
D
#3
Подскажите и мне пожалуйста. Задача примерно такая же, но предложенный вариант не получается, в чем проблема понять не могу.

Код:
Sub Click(Source As Button)

Dim fileNum As Integer

fileNum% = Freefile		' Get a file number to open a file.

Open "Count.h" For Input As fileNum%
Do While Not Eof(fileNum%)
Line Input #fileNum%, InputData	 ' Read each line of the file.
If Left$(InputData, 17) = "#define BUILD_NO" + Chr$(9) Then
strBuild = strBuild & " " & _
"build " & Mid$(InputData, 18, 255)
End If
Loop
Close fileNum%	
strBuild = "// " & strBuild & Chr$(13)
Msgbox strBuild


End Sub
т.е так же как у SOFTOBZOR.ru в сообщение значение приходит, а в поле его отправить никак не удается.

Not a sub or function name: doc - выдает такое сообщение, если использовать вышепредложенный вариант.

Подскажите, объясните пожалуйста.
 
E

Elena Nefedova

#4
Для: Del
Я что-то не вижу вызова doc.ReplaceItemValue в приведенном коде. Нужно поместить именно тот код, который вызывает эту ошибку.
 
D
#5
Для: Elena Nefedova вышеприведенный имелось в виду, совсем выше, который был ответом на проблему.
 
E

Elena Nefedova

#6
Для: Del
Я-то думала, что вы еще что-нибудь в код поместили, кроме этой строчки.
Например, объявили переменные и установили ссылки на объекты...
А изолированно она, ясно, пользы не приносит.

Предлагаю поместить ее после Msgbox и затем записать документ.

PS. И установить ссылку на конкретный документ не забудьте
 
D
#7
Для: Elena Nefedova Спасибо за совет, но что-то не поучается.
Что я не так делаю?

Код:
Sub Click(Source As Button)

Dim fileNum As Integer

fileNum% = Freefile		' Get a file number to open a file.

Open "\\AM\vt5\Archive\BuildCount.h" For Input As fileNum%
Do While Not Eof(fileNum%)
Line Input #fileNum%, InputData	 ' Read each line of the file.
If Left$(InputData, 17) = "#define BUILD_NO" + Chr$(9) Then
strBuild = strBuild & " " & _
"build " & Mid$(InputData, 18, 255)
End If
Loop
Close fileNum%	
strBuild = "// " & strBuild & Chr$(13)
Msgbox strBuild


Dim doc As NotesDocument
Dim item As NotesItem
Set item = doc.ReplaceItemValue _
( "str_build_num", strBuild )
Call doc.Save( False, True )


End Sub

т.е сейчас я пытаюсь это action`ом сделать, но хотелось бы чтобы все это происходило при создании документа(формы). Куда лучше поместить это?
 
E

Elena Nefedova

#8
Начиная с Set item = ..., все не так :)
Совет установить ссылку на конкретный документ был, увы, проигнорирован.
Предлагаю вот что:
Код:
	Dim doc As NotesDocument
Dim ws As New NotesUIWorkspace  ' одновременно объявляется и задается рабочее пространство
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document	
Call doc.ReplaceItemValue( "str_build_num", strBuild )
Call doc.Save( False, True )
 
D
#9
Для: Elena Nefedova
ой спасибо-преспасибо, вы не представляете как долго я с этим бьюсь.
Спасибо, все получилось.
 
Статус
Закрыто для дальнейших ответов.