2015-06-22 2 views
0

Итак, у меня есть класс, возвращающий массив синглов. Проблема в том, что появилась новая реквизиция, где мне нужно предоставить эти значения в виде одной строки, которая может быть выполнена с помощью Join, за исключением Join. Этот массив состоит из строк, а не синглов.Как преобразовать массив значений в VBA в массив других типов значений на основе ввода пользователем?

Я думаю, я мог бы написать новый метод в моем классе, который предоставляет тот же массив, но со значениями в виде строк. Однако мне было интересно, могу ли я просто преобразовать существующий метод, чтобы принять что-то вроде Optional ValType as vbVarType в качестве параметра и соответственно изменить тип значений в расширенном массиве.

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

Select Case ValType 
    Case #something1 
     #omitted code 
    Case #something2 
     #omitted codev 
    Case #something3 
     #omitted code 
    ........ 

UPDATE: Я думаю, что я ищу, это формула, как Cstr() исключением того, что я хотел бы его работать на массив и он ожидал parameeter описания значение для преобразования в.

ответ

0

У вас просто есть массив типов Variant, а не Single? Следующий код, похоже, работает нормально:

Dim arrInt() As Variant 

ReDim arrInt(0 To 3) 

arrInt(0) = 0 
arrInt(1) = 1 
arrInt(2) = 2 
arrInt(3) = 3 

Debug.Print Join(arrInt, "#") 
Смежные вопросы