nastasa, Я не силён в комбинаторике, поэтому оценить объём выходного файла не берусь.
Я поставил задачу в общем виде:
Необходимо сформировать все возможные слова длиной M символов.
Набор возможных символов задаётся. Число возможных символов >=M
В сформированном слове не должно быть одинаковых символов.
Вот VBS-скрипт, реализующий эту постановку. После его запуска дождитесь сообщения, что он отработал
Код:

'Sym = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
Sym = Array("A", "B", "C", "D", "E", "F", "G") ' Набор символов для составления слов
M = 7 ' Длина слова
File_Out = "Z:\Box_Out\kuku.txt" ' Файл со списком слов (результат работы)
NM = M - 1
ReDim iSym(NM)
NS = UBound(Sym)
For k = 0 To NM
iSym(k) = k
Next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set NFile = FSO.OpenTextFile(File_Out, 2, True)
Do While iSym(0) <= NS
Equ = False
For k = 0 To NM
For kk = k + 1 To NM
Equ = (iSym(k) = iSym(kk))
If Equ Then Exit For
Next
If Equ Then Exit For
Next
If Not Equ Then
SS = ""
For k = 0 To NM
SS = SS + Sym(iSym(k))
Next
' MsgBox SS
NFile.WriteLine SS
End If
For k = NM To 0 Step -1
iSym(k) = iSym(k) + 1
If iSym(k) <= NS Then Exit For
If k <> 0 Then iSym(k) = 0
Next
Loop
NFile.Close
MsgBox "Скрипт отработал"
Определите путь к выходному файлу.
В приведенном примере длина слова M=7
Взят набор из 7 символов "A", "B", "C", "D", "E", "F", "G"
В выходном файле получилось 5040 значений.
Для набора из 8 символов "A", "B", "C", "D", "E", "F", "G", "H" и длине слова M=7
в выходном файле получилось 40320 значений. И время выполнения выросло резко.
Не знаю, но, по видимому, можно применить более эффективный алгоритм.
Вы можете всё это поменять, лишь бы число возможных символов было не менее длины слова - никаких защит от этого я не предусматривал.