• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Обрезание массивов, полученных из Item'а

VladSh

начинающий
Lotus Team
11.12.2009
1 791
157
BIT
126
В LND 5-6 при Redim Preserve массиву, получаемому из item'а документа по GetItemValue, вылетала ошибка, что-то типа "не надо это делать для статических массивов", и все писали циклы получения массива до нужного элемента...

Сейчас, ради интереса, попробовал такой код:
Код:
Dim ns As New NotesSession
Dim ndb As NotesDatabase
Dim nd As NotesDocument
Set nd = ns.CurrentDatabase.CreateDocument
 
Const IN_TMP = "tmp"
vSource = Split("Value1#Value2#Value3", "#")
Call nd.ReplaceItemValue(IN_TMP, vSource)
 
Dim vValues As Variant			'Без этого строка Redim Preserve не скомпилится
vValues = nd.GetItemValue(IN_TMP)
Redim Preserve vValues(1)		'Та самая строчка!
Работает!

P.S. Для меня, честно, это было откровением! Может это баян... )) тогда, плз, удалите тему.
 
A

Akupaka

Влад, вообще-то нельзя выполнять операцию над NotesItem.Values, на сколько мне помнится. А когда засовываешь в другую переменную - то делай, что хошь
 
Мы в соцсетях:

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