Createobject

  • Автор темы sanch
  • Дата начала
S

sanch

Доброго времени суток!
Такой вопрос можно ли при помощи CreateObject создать обьект notepad и как в таким случае с ним работать.
В принципе получалось работать с Excel
Set xl=CreateObject("Excel.Application")
Set xlbk=xl.Workbooks.Add
xlbk.ActiveSheet.Cells(x,y)="Event_Type1"
Вписал CreateObject("Notepad.Application"), не заработало. Подскажите плз.

И еще вопросик. К примеру есть поле "Field1", оно содержит несколько элементов (Values [0] val1 [1] val2 [2] val3 и т.д.) Можно ли как нить автоматически их выгрузить, к примеру в тот же самый notepad
ЗЫ "автоматический" я имею ввиду чтоб не писать call doc.GetItemValue("Field1")(0) call doc.GetItemValue("Field1")(1) call doc.GetItemValue("Field1")(2) и тд.
Заранее благодарен
 
M

morpheus

<!--QuoteBegin-sanch+18:10:2006, 13:24 -->
<span class="vbquote">(sanch @ 18:10:2006, 13:24 )</span><!--QuoteEBegin-->И еще вопросик. К примеру есть поле "Field1", оно содержит несколько элементов (Values [0] val1 [1] val2 [2] val3 и т.д.) Можно ли как нить автоматически их выгрузить, к примеру в тот же самый notepad
ЗЫ "автоматический" я имею ввиду чтоб не писать call doc.GetItemValue("Field1")(0) call doc.GetItemValue("Field1")(1) call doc.GetItemValue("Field1")(2) и тд.
Заранее благодарен
[snapback]45816" rel="nofollow" target="_blank[/snapback]​
[/quote]


@Implode !
 
H

Hedg

CreateObject - создаёт OLE объект, которого у Блокнота попросту нет
 
S

sanch

<!--QuoteBegin-Morpheus+18:10:2006, 13:39 -->
<span class="vbquote">(Morpheus @ 18:10:2006, 13:39 )</span><!--QuoteEBegin-->@Implode
[snapback]45817" rel="nofollow" target="_blank[/snapback]​
[/quote]

А в LotusScript аналога нет ? B)
 
H

Hedg

call doc.GetItemValue("Field1")(0)
а в цикле сделать не дано измение позици?
 
E

Elena Nefedova

Для: sanch
1. Открыть файл на запись и записать туда join(doc.Field1, ";")
2. result = Shell("notepad.exe C:\myfile.txt", 1)
 
S

sanch

<!--QuoteBegin-Morpheus+18:10:2006, 13:51 -->
<span class="vbquote">(Morpheus @ 18:10:2006, 13:51 )</span><!--QuoteEBegin-->dim f as variant
f = evaluate ( @Implode(Field1), doc )
msgbox f(0)
[snapback]45821" rel="nofollow" target="_blank[/snapback]​
[/quote]

что то не работат в пременную ниче не передается
 
M

morpheus

Код:
dim f as variant  
Const sQuery = "@Implode(Field1)" 
f = evaluate ( sQuery, doc )  
msgbox f(0)

тьфу, забыл кавычки поставить, так как в evaluate первый параметр запроса - чистый String
 
S

sanch

<!--QuoteBegin-Morpheus+18:10:2006, 14:46 -->
<span class="vbquote">(Morpheus @ 18:10:2006, 14:46 )</span><!--QuoteEBegin-->тьфу, забыл кавычки поставить, так как в evaluate первый параметр запроса - чистый String
[snapback]45833" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да не кавычки то я поставил. В переменную ниче не предается. уже пробовал так
dim f as variant
sQuery$ = "@Implode(Field1)"
f = evaluate ( sQuery$, doc )
msgbox f(0)
тож не помогло
 
S

sanch

<!--QuoteBegin-Morpheus+18:10:2006, 15:15 -->
<span class="vbquote">(Morpheus @ 18:10:2006, 15:15 )</span><!--QuoteEBegin-->а деббагер что на F говорит????
[snapback]45843" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ниче не говорит просто F пустое и все(как будто даже инициализации не было)
<!--QuoteBegin-Morpheus+18:10:2006, 15:15 -->
<span class="vbquote">(Morpheus @ 18:10:2006, 15:15 )</span><!--QuoteEBegin-->Syntax variant = notesSession.Evaluate( formula$, doc )
[snapback]45843" rel="nofollow" target="_blank[/snapback]​
[/quote]
в данном случае уже вываливается ошибка
 
M

morpheus

а проверка на простом примере, ну в открытом доке, кнопочка на которой эвалюэйт...

может поле не правельно прописано, или doc не тот ))))

к слову у меня это в скриптах(особенно в отчетах) на ура через строчку классно всё работает
 
E

Elena Nefedova

Это поместить в агент:
Код:
Dim sess as New NotesSession  ' сессия должна быть задана в явном виде
Dim col as NotesDocumentCollection
Dim db as NotesDatabase
Set db = sess.CurrentDatabase
Set col = db.UnprocessedDocuments
If col Is Nothing then Exit Sub
Set doc = col.GetFirstDocument
If doc Is Nothing then Exit Sub
v_result = Evaluate("@UserName", doc) ' Начните проверять с самых простых формул, заведомо верных
If IsArray(v_result) then
print join(v_result, ", ")
elseIf IsScalar(v_result) then
print cstr(v_result)
else
print "Unknown result"
end if
И не надо так мучиться, просто жалко даже!
 
S

sanch

Ну да я так и делаю
Код:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dcol As NotesDocumentCollection
Dim doc As NotesDocument
Set db=session.CurrentDatabase
Set dcol=db.AllDocuments
Set doc=dcol.GetFirstDocument()
temp = Evaluate("@Implode(Form)" , doc)
Заметил что если итем содержит больше 1 значения(в Values) то Evaluate ниче не возвращает! :)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-sanch+20:10:2006, 09:25 -->
<span class="vbquote">(sanch @ 20:10:2006, 09:25 )</span><!--QuoteEBegin-->Заметил что если итем содержит больше 1 значения(в Values) то Evaluate ниче не возвращает! sad.gif
[snapback]45967" rel="nofollow" target="_blank[/snapback]​
[/quote]
Возвращает.
 
S

sanch

<!--QuoteBegin-Medevic+20:10:2006, 08:28 -->
<span class="vbquote">(Medevic @ 20:10:2006, 08:28 )</span><!--QuoteEBegin-->Возвращает.
[snapback]45968" rel="nofollow" target="_blank[/snapback]​
[/quote]


) Да возвращает(мой бок). Но вот в чем фича, у меня в итеме хранились даты(LSLocalTime) и Evaluate ниче не возвращал, попробовал записать просто сторки типа "test1""test2" и нормально все отработало.В чем может быть загвоздка?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Из мультизначного поля типа дата тоже нормально возвращает.
 
S

sanch

<!--QuoteBegin-Medevic+20:10:2006, 08:48 -->
<span class="vbquote">(Medevic @ 20:10:2006, 08:48 )</span><!--QuoteEBegin-->Из мультизначного поля типа дата тоже нормально возвращает
[snapback]45971" rel="nofollow" target="_blank[/snapback]​
[/quote]

Не хочет ((.Попробовал записывать(DateOnly)-работает, а (LSLocalTime)-нет. и еще такой прикол если в итеме уже есть какоенить простое значение то (LSLocalTime) уже не записывается. В чем хитрость?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!