Createobject

Тема в разделе "Lotus - Программирование", создана пользователем sanch, 18 окт 2006.

  1. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Доброго времени суток!
    Такой вопрос можно ли при помощи 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) и тд.
    Заранее благодарен
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--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 !
     
  3. Hedg

    Hedg Гость

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

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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)
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    - зачем

    Код (Text):
    dim f as variant  
    f = evaluate ( @Implode(Field1), doc ) 
    msgbox f(0)
     
  6. Hedg

    Hedg Гость

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

    Elena Nefedova Гость

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

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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]

    что то не работат в пременную ниче не передается
     
  9. Elena Nefedova

    Elena Nefedova Гость

    Есть такая фича: в подпрограмме должна создаваться сессия в явном виде.
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Код (Text):
    dim f as variant  
    Const sQuery = "@Implode(Field1)"
    f = evaluate ( sQuery, doc )  
    msgbox f(0)
    тьфу, забыл кавычки поставить, так как в evaluate первый параметр запроса - чистый String
     
  11. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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)
    тож не помогло
     
  12. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    а сессия нотеся обьявлена????


    а деббагер что на F говорит????
     
  13. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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]
    в данном случае уже вываливается ошибка
     
  14. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    а проверка на простом примере, ну в открытом доке, кнопочка на которой эвалюэйт...

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

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

    Elena Nefedova Гость

    Это поместить в агент:
    Код (Text):
    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
    И не надо так мучиться, просто жалко даже!
     
  16. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Ну да я так и делаю
    Код (Text):
    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 ниче не возвращает! :)
     
  17. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--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]
    Возвращает.
     
  18. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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" и нормально все отработало.В чем может быть загвоздка?
     
  19. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Из мультизначного поля типа дата тоже нормально возвращает.
     
  20. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    <!--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) уже не записывается. В чем хитрость?
     
Загрузка...
Похожие Темы - Createobject
  1. alik86
    Ответов:
    31
    Просмотров:
    4.641
  2. iivvnn
    Ответов:
    13
    Просмотров:
    3.629
  3. NetWood
    Ответов:
    6
    Просмотров:
    4.304
  4. PavelT100
    Ответов:
    15
    Просмотров:
    8.534

Поделиться этой страницей