сложности с преобразованием типов

Тема в разделе "Lotus - Программирование", создана пользователем phantom76, 10 сен 2010.

  1. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Казалось, что раньше я решал уже данную задачу, но вспомнить как это делал не могу :)


    пример:

    есть статический массив, где каждый элемент определенный метод или имя переменной вида:

    vColumnsArr(1,2) = {zdoc.GetItemValue("Created")(0)}

    далее хотелось бы получить значение элемента массива не как строку, а как оператор:

    vExcelObj.Cells(1, i ).Value = vColumnsArr(i,2) -> сейчас получается vExcelObj.Cells(1, i ).Value = {zdoc.GetItemValue("Created")(0)},

    а нужно: vExcelObj.Cells(1, i ).Value = zdoc.GetItemValue("Created")(0)

    сразу скажу что массив содержит не стандартный набор данных, где можно было бы упростить все до перебора имен полей..
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Execute "vExcelObj.Cells(1, i ).Value = " & vColumnsArr(i,2)) '???
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
  4. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Спасибо! Разбираюсь, пока пока вылавливаю ошибки на этом операторе
     
  5. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    почему-то не получается даже в упрощенном варианте:

    Declaration
    Dim zdoc As NotesDocument
    Dim vExcelObj As Variant
    Dim vColumnsArr(1 To 8, 1 To 2) As Variant
    Dim val2 As String


    sub

    Execute (val2 = zdoc.GetItemValue("Created")(0)) - срока 105
    vExcelObj.Cells(j, k).Value = val2

    ---------------------------
    Внимание
    ---------------------------
    Ошибка: $EXECUTE$+1: Unexpected: False; Expected: Statement в строке 105
    ---------------------------
    ОК
    ---------------------------
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    phantom76
    Execute {val2 = zdoc.GetItemValue("Created")(0)}
    Выражение нужно в фигурные скобки заключить, иначе получается логическое сравнение, о чём, собственно, и сообщает Notes
     
  7. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Спасибо, этот вариант я тоже пробовал:

    в этом случае

    ---------------------------
    Внимание
    ---------------------------
    Ошибка: $EXECUTE$+1: Variant does not contain an object в строке 105
    ---------------------------
    ОК
    ---------------------------

    хотя

    val2 = zdoc.GetItemValue("Created")(0) - все работает, zdoc задекларировал в соответствующем разделе
     
  8. Darker

    Darker Гость

    phantom76

    zdoc у Вас должен определяться непосредственно в Execute

    Добавлено:
     
  9. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    или база(откуда взят документ) должна быть тоже вынесена в паблик
     
  10. Darker

    Darker Гость

    До Execute запомните UNID zdoc-а, и в Execute переполучите его
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    phantom76
    Все внешние переменные, используемые в Execute, должны быть объявлены как Public (и в разделе (Globals) если в форме/представлении).
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    как выше указал nvy
    добавлю, что Execute создаёт свой "временный" модуль, в кот. могут быть свои Initialize и Terminate (что иногда полезно)..., джек-пот и шлюхи :)
     
Загрузка...
Похожие Темы - сложности преобразованием типов
  1. bestguru
    Ответов:
    1
    Просмотров:
    547
  2. lemuriez
    Ответов:
    4
    Просмотров:
    1.548

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