Visual Basic |
---|
Public Function ArrayToVariant( _ ByRef pVal As Variant _ ) As Variant |
- pVal
- Массив произвольных типов
Одно из ключевых отличий VB Script от VBA - это отсутствие типизированных переменных. Все переменные в VB Script имеют тип Variant. Именно поэтому в VB Script нельзя объявлять переменные как в VBA (Например: myParam As String или myObject As TDMSObject). Тоже самое касается и массивов. Все массивы в VB Script являются контейнерами типа Variant, содержащими в своём составе последовательность элементов, так же имеющих тип Variant. Такая особенность дает возможность хранить в одном массиве совершенно разные эелементы, числа, строки, объекты. В VBA напротив, масивом может быть контейнер типа Variant содержащий в своем составе типизированные элементы, например чистые строки, или числа в том виде "как есть".
Многие COM объекты спроектированны для использования в среде VBA. Методы таких объектов как правило возвращают типизированные массивы, работать с которыми в среде VB Script невозможно. Именно для этого в TDMS были реализованы методы:
ArrayToVariant - позволяющий конвертировать типизированные VBA массивы в массивы формата VBScript и
VariantToArray позволяющий делать обратное преобразование.