Можно ли решить данную задачу макросом или еще лучше, формулой? Загуглил и нашел такой макрос:
Код
Public Function GeneratePDF(Optional Lenght As Integer = 32)
For s = 1 To Lenght
choice = Int(Rnd * 3)
If choice = 0 Then
nextsymbol = Int(Rnd * 9)
End If
If choice = 1 Then
nextsymbol = Chr(Int((70 - 65 + 1) * Rnd + 65))
End If
PassTxt = PassTxt & nextsymbol
Next s
GeneratePDF = PassTxt
End Function
И он должен работать, но результат (ниже) почему-то не похож на то, что выдает мой случайный скрипт
Public Function GetRandom(Optional ByVal Length As Long) As String
Const base = "0123456789ABCDEF"
Dim i As Long, sResult As String
Math.Randomize
For i = 1 To Length
sResult = sResult & Mid$(base, Math.Round(1# + 15# * Math.Rnd, 0), 1)
Next
GetRandom = sResult
End Function
Public Function GetRandom(Optional ByVal Length As Long) As String
Const base = "0123456789ABCDEF"
Dim i As Long, sResult As String
Math.Randomize
For i = 1 To Length
sResult = sResult & Mid$(base, Math.Round(0.50000000000001 + 15.999999999999 * Math.Rnd, 0), 1)
Next
GetRandom = sResult
End Function
Апострофф, можно начинать эксперименты... когда Int(17 * Rnd()) вернет 17, напишешь мне (или без экспериментов читать мат часть раздел Rnd, там пишут что она может вернуть)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Ігор Гончаренко написал: можно начинать эксперименты...когда Int(17 * Rnd()) вернет 17, напишешь мне
Зачем? Дошкольники знают что в десятичной системе ДЕСЯТЬ цифр (0 to 9) Чуть постарше (иногда) узнают про bin, oct, hex и т.п. НО ЧТОБЫ G стало цифрой в шестнадцатиричной системе? Это надо было постараться!