Хорошо, для потомков, вот решение:
Имя поля в форме, которая захватывает ввод пользователя, - VarList.Вызов функции SPSS_Syntax, приведенной ниже, возвращает список имен переменных (в «Vars»), которые затем могут быть использованы в других местах:
Vars = SPSS_Syntax(me.VarList)
Напомним, что пользовательский ввод в Varlist входит как каждая переменная (слово) сразрыв строки между каждым.Проблема в том, что мы хотим, чтобы список был в одной строке (горизонтальной, а не вертикальной), а длина строки не должна превышать 256 символов (я устанавливаю ее на 70 символов ниже).Вот функция:
Public Function SPSS_Syntax(InputString As String)
InputString = Replace(InputString, vbNewLine, " ") 'Puts the string into one line, separated by a space.
MyLength = Len(InputString) 'Computes length of the string
If MyLength < 70 Then 'if the string is already short enough, just returns it as is.
SPSS_Syntax = InputString
Exit Function
End If
MyArray = Split(InputString, " ") 'Creates the array
Dim i As Long
For i = LBound(MyArray) To UBound(MyArray) 'for each element in the array
MyString = MyString & " " & MyArray(i) 'combines the string with a blank space in between
If Len(MyString) > 70 Then 'when the string gets to be more than 70 characters
Syntax = Syntax & " " & vbNewLine & MyString 'saves the string as a new line
MyString = "" 'erases string value for next iteration
End If
Next
SPSS_Syntax = Syntax
End Function
Возможно, есть лучший способ сделать это, но это работает.Приветствия.