powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фун-ция возвращаюшая уникальную переменную
9 сообщений из 9, страница 1 из 1
Фун-ция возвращаюшая уникальную переменную
    #32692920
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Интересует если в VBA стандартная функция, которая возвращала бы уникальную стринговую переменную. Заранее спасибо
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32693009
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стандартной функции нет, можно так:
Код: plaintext
1.
Private Function GetStr() As String    Dim n As Byte    Dim MaxLen As Byte    Dim mASCII As Byte    Dim strTmp As String    MaxLen = CByte(254 * Rnd)    For n = 1 To MaxLen        Do            mASCII = CByte(122 * Rnd)            If mASCII < 65 Then                mASCII = mASCII + 50            End If            Select Case mASCII                Case 65 To 90, 97 To 122                     Exit Do                Case Else                     mASCII = 0            End Select        Loop        strTmp = strTmp & Chr(mASCII)    Next    GetStr = strTmpEnd Function
Как отформатирован этот код?
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32693030
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть еще GUID но для него надо или юзать api или найти в инете готовую DLL
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32693933
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegA67... есть ли в VBA стандартная функция, которая возвращала бы уникальную стринговую переменную?Можно воспользоваться методом GetTempName из библиотеки Microsoft® Visual Basic® Scripting Edition
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32694009
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvanPrivate Function GetStr() As String
Dim n As Byte
Dim MaxLen As Byte
Dim mASCII As Byte
Dim strTmp As String
MaxLen = CByte(254 * Rnd)
For n = 1 To MaxLen
Do
mASCII = CByte(122 * Rnd)
If mASCII < 65 Then
mASCII = mASCII + 50
End If
Select Case mASCII
Case 65 To 90, 97 To 122
Exit Do
Case Else
mASCII = 0
End Select
Loop
strTmp = strTmp & Chr(mASCII)
Next
GetStr = strTmp
End Function

Только в начале функции надо вставить Randomize() иначе будет не случайная строка, а повторяющаяся от запуска к запуску строка
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32696191
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так не подойдёт?

Код: plaintext
Cstr(Now)
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #32696464
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegA67Добрый день. Интересует если в VBA стандартная функция, которая возвращала бы уникальную стринговую переменную. Заранее спасибо

сразу встает вопрос: уникальную в пределах чего?
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #33146287
н а т а
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Я не знаток VB, хотя очень стремлюсь его понять, хотелось бы переделать ф-ю от marvan [14 сен 04, 09:42] на генерацию строк такого вида:

a_000_0_33_2
a34_452____2

и т.п. Интересует, как отсеять остальные символы, кроме _ и цифр? Длину строки я сделала фиксированную, MaxLen = CByte(10) , сейчас генерется все коды AscII , а мне надо только черточки и цифры. Заранее благодарю.
...
Рейтинг: 0 / 0
Фун-ция возвращаюшая уникальную переменную
    #33146414
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо значений в Arr - впишите любые свои символы.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function ReturnMoyKod(MaxLen As Integer) As String
 Dim i As Integer
 Dim Arr As Variant
 Arr = Array("a", "b", "c", "d", "e", "f", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
   Randomize
   For i =  1  To MaxLen
     ReturnMoyKod = ReturnMoyKod & Arr(Int((UBound(Arr) * Rnd) +  1 ))
   Next i
End Function
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фун-ция возвращаюшая уникальную переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]